【发布时间】:2014-05-10 09:39:45
【问题描述】:
我正在尝试修改 compareTo 方法,以便可以在此处使用 Comparable Interface,但它给了我声明的警告。我究竟做错了什么 ?它显示没有语法错误,但是当我单击编译时,会弹出一个带有消息的小窗口:“上次编译的警告 F:\Desktop\PoochyPavy.java 使用未经检查或不安全的操作。使用 -Xlint 重新编译:详细信息未选中。”
原代码为:
public class PoochyPavy implements Comparable
{
public PoochyPavy(int k)
{
value = k;
}
public int compareTo(Object nerd) //This method doesn’t follow the normal rules
{
PoochyPavy pp = (PoochyPavy) nerd;
int r;
if (value = = 6 * pp.value)
{
r = 136;
}
else
{
r = -137;
}
return r;
}
…other methods…
public int value;
}
我尝试修改代码:
public int PoochyPavy(int k)
{
int Value = k;
return k;
}
public int compareTo(Comparable nerd) //This method needs modification
{
PoochyPavy pp = (PoochyPavy) nerd;
int r = 0;
if (((Comparable)value).compareTo(6*pp.value)==0)
{
return r;
}
else if (((Comparable)value).compareTo(6*pp.value)<0)
{
return r-1;
}
else if (((Comparable)value).compareTo(6*pp.value)>0)
{
return r+1;
}
return r;
}
//…other methods…
public int value;
【问题讨论】:
-
您能否引用准确而完整的信息?到目前为止,您的要求毫无意义。
-
你是在调试的时候修改代码吗?如果不是:究竟是什么?
-
"Warning from the last compilation"是它所说的整个内容,还是警告提供了任何其他信息? -
泛型是在 Java 5 中引入的。10 年后,我们现在在 Java 8 中。是时候使用它们了:
PoochyPavy implements Comparable<Poochavy> -
@ajb - 我猜“上次编译的警告”来自 IDE。但是没有办法知道,鉴于上述无用的描述。
标签: java comparator comparable