首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java parseInt()问题

Java parseInt()问题
EN

Stack Overflow用户
提问于 2011-08-09 13:33:38
回答 7查看 27.7K关注 0票数 1

为什么当我使用parseInt做这个的时候:

代码语言:javascript
复制
private String certainNumber;

public int getNumber()
{
    return Integer.parseInt(certainNumber);
}

它会编译。

但如果我要这么做:

代码语言:javascript
复制
public String getStreetNumber()
{
    return streetNumber;
}

然后parseInt返回值,如下所示:

代码语言:javascript
复制
@Override
public int compareTo(Object o) 
{
    Address tempAddress = (Address)o;
    if(Integer.parseInt(getStreetNumber()) < tempAddress.Integer.parseInt(getStreetNumber()))
    {
        return -1;
    }
... // etc.
}

它不能编译?

编辑:尝试了建议...还是不编译吗?

edit2:谢谢你们的帮助!

EN

回答 7

Stack Overflow用户

发布于 2011-08-09 13:36:43

这是因为parseInt是属于Integer类的方法:您必须将其称为Integer.parseInt(value);。我非常怀疑您的自定义类中是否有parseInt函数(我怀疑这都是Address类的一部分?)或tempAddress实例。

试试这个:

代码语言:javascript
复制
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...
}
票数 4
EN

Stack Overflow用户

发布于 2011-08-09 13:35:19

因为您调用的是parseInt()而不是Integer.parseInt()

票数 3
EN

Stack Overflow用户

发布于 2011-08-09 13:40:41

parseIntInteger类中的静态方法。你把它叫做Integer.parseInt(the_string_you_want_to_parse)

如果要解析由另一个类中的方法返回的字符串,则可以将其调用为Integer.parseInt(tempAddress.getStreetNumber())

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6991785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档