为什么当我使用parseInt做这个的时候:
private String certainNumber;
public int getNumber()
{
return Integer.parseInt(certainNumber);
}它会编译。
但如果我要这么做:
public String getStreetNumber()
{
return streetNumber;
}然后parseInt返回值,如下所示:
@Override
public int compareTo(Object o)
{
Address tempAddress = (Address)o;
if(Integer.parseInt(getStreetNumber()) < tempAddress.Integer.parseInt(getStreetNumber()))
{
return -1;
}
... // etc.
}它不能编译?
编辑:尝试了建议...还是不编译吗?
edit2:谢谢你们的帮助!
发布于 2011-08-09 13:36:43
这是因为parseInt是属于Integer类的方法:您必须将其称为Integer.parseInt(value);。我非常怀疑您的自定义类中是否有parseInt函数(我怀疑这都是Address类的一部分?)或tempAddress实例。
试试这个:
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...
}发布于 2011-08-09 13:35:19
因为您调用的是parseInt()而不是Integer.parseInt()
https://stackoverflow.com/questions/6991785
复制相似问题