这是我的第一篇文章。这是针对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>
是正确的方法。
(对于其他情况,您还需要返回一个值,但我想您已经将其缩减为该问题了。)