java - 停留在比较器<T>

标签 java

这是我的第一篇文章。这是针对 Java 7 的。

有人可以告诉我为什么我无法访问 CompareIpaddress 类中的“first.a”吗? (我不确定为什么 SOF 不允许我发布此内容,除非我输入更多内容...)这是否足够填充?

谢谢, 戈登

  import java.util.Comparator; 
  import java.util.*; // just in case i need it.
  import java.util.TreeSet;

  public class CompareIpaddress <IPaddress >implements Comparator<IPaddress>
  {
     /************************************************compare()**/
     public int compare (IPaddress first, IPaddress second)
     {
       if( first.a < second.a )
       {   
          return -1;
       }
     }
  }

  import java.util.Comparator;
  import java.util.*;
  import java.util.TreeSet;

  public class IPaddress
  {
     public int a, b, c, d;

     IPaddress (int a, int b, int c, int d)
     {
        this.a=a;
        this.b=b;
        this.c=c;
        this.d=d;
     }

     public int getA()
     {
        return a;
     }
  }

最佳答案

public class CompareIpaddress <IPaddress >implements Comparator<IPaddress>

您使 IPaddress 成为 CompareIpaddress 的类型参数,因此它是任何类型,而不是同名的类。

因为不是每个类都有一个可访问的成员a,所以编译器找不到这个符号。

public class CompareIpaddress implements Comparator<IPaddress>

才是正确的做法。

(您还需要为其他情况返回一个值,但我想您刚刚针对问题将其减少了。)

关于java - 停留在比较器<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748039/

相关文章:

java - Android 4.2.2 Wifi-Direct adhoc 网络——访问隐藏的 android 方法来设置 SSID 和密码?

java - 将面板添加到不同类别的框架中?

java - OpenXava的经验

java - 未使用 log4j 记录器在日志文件中获取 INFO 日志

java - HTML5(canvas + JavaScript)中是否有等效的graphstream(Java)

java - Spring security不解析xml

java - 如何使用GinMapBinder

java - 如何为 GlassFish 域指定 JDK?

java - 在 Eclipse IDE 中设计 Java Swing GUI 最简单的方法是什么?

java - 错误org.springframework.beans.factory.BeanCreationException : Error creating bean Spring Boot