为什么当我为此使用 parseInt 时:
private String certainNumber;
public int getNumber()
{
return Integer.parseInt(certainNumber);
}
它编译。</p>
但是如果我这样做:
public String getStreetNumber()
{
return streetNumber;
}
并像这样解析返回值:
@Override
public int compareTo(Object o)
{
Address tempAddress = (Address)o;
if(Integer.parseInt(getStreetNumber()) < tempAddress.Integer.parseInt(getStreetNumber()))
{
return -1;
}
... // etc.
}
它不编译?
编辑:尝试了这些建议...仍然没有编译?
edit2:感谢大家的帮助!
最佳答案
那是因为 parseInt
是一个属于 Integer
类的方法:你必须调用它 Integer.parseInt(value);
.我非常怀疑您的自定义类(我怀疑这都是 Address 类的一部分?)或 tempAddress 实例中是否有 parseInt 函数。
试试这个:
public int compareTo(Object o)
{
Address tempAddress = (Address)o;
if(Integer.parseInt(getStreetNumber()) <
// you need to parse the return value of tempAddress's getStreetNumber()
// not get the tempAddress's parseInt of this.getStreetNumber()
Integer.parseInt(tempAddress.getStreetNumber()))
{
return -1;
}
// etc...
}
关于Java parseInt() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991785/