J2ME里getString()返回字符串的问题
来源:百度知道 编辑:UC知道 时间:2024/06/13 23:57:50
......
private TextBox tbox =new TextBox("输入内容","在这里输入",255,TextField.ANY);
......
......
if(tbox.getString()=="在这里输入"){
System.out.print("呵呵");
}
上面的代码中用getString()返回的字符串明明是"在这里输入"这5个字但在if里的判断却不成立,请问这是为什么,是不是用getString()返回的字符串有什么特殊性?这段代码应该怎样修改才能实现这里面的判断?谢谢!
private TextBox tbox =new TextBox("输入内容","在这里输入",255,TextField.ANY);
......
......
if(tbox.getString()=="在这里输入"){
System.out.print("呵呵");
}
上面的代码中用getString()返回的字符串明明是"在这里输入"这5个字但在if里的判断却不成立,请问这是为什么,是不是用getString()返回的字符串有什么特殊性?这段代码应该怎样修改才能实现这里面的判断?谢谢!
==表示两个String的物理内存地址相等, 这里显然他们是不等的。
.equal()表示两个String的内容相等。 所以这里应该改成:
if("在这里输入".equals(tbox.getString()){
System.out.print("呵呵");
}
在 Java里面用equals比较2个字符串是否相等。
if("在这里输入".equals(tbox.getString()){
这个是常见的错误。不过也说明JDK的缺陷。如果50%的新手会犯同样的简单错误,那应该是语言本身有问题。
比String 的东西
最好用.equals
别用==
你写成.equals("在这里输入")