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()返回的字符串有什么特殊性?这段代码应该怎样修改才能实现这里面的判断?谢谢!

==表示两个String的物理内存地址相等, 这里显然他们是不等的。
.equal()表示两个String的内容相等。 所以这里应该改成:
if("在这里输入".equals(tbox.getString()){
System.out.print("呵呵");
}

在 Java里面用equals比较2个字符串是否相等。

if("在这里输入".equals(tbox.getString()){

这个是常见的错误。不过也说明JDK的缺陷。如果50%的新手会犯同样的简单错误,那应该是语言本身有问题。

比String 的东西
最好用.equals
别用==
你写成.equals("在这里输入")