首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

菜鸟一个小疑点,想不通

2012-04-03 
初学者一个小问题,想不通编一个计算的小程序,TextField tf14 new TextField(MAX_VALUE)如果没改这个值

初学者一个小问题,想不通
编一个计算的小程序,TextField tf14 = new TextField("MAX_VALUE")
如果没改这个值,就设为无穷大,若改了就读出新的值到 x1ub

if (tf14.getText() == "MAX_VALUE") {
System.out.println("1");
x1ub = Double.MAX_VALUE;

} else {
System.out.println("2");
x1ub = Double.parseDouble(tf14.getText());

}
为什么tf14中的值没改(还是MAX_VALUE),而输出2,也就是到了else里面?

[解决办法]
楼主,测试完毕,输出1。
package group;

import java.awt.TextField;

public class g {
public static void main(String[] args){
TextField tf14 = new TextField("MAX_VALUE");

if (tf14.getText() == "MAX_VALUE") {
System.out.println("1");
//x1ub = Double.MAX_VALUE;

} else {
System.out.println("2");
//x1ub = Double.parseDouble(tf14.getText());

}

 }
}
[解决办法]
if (tf14.getText() == "MAX_VALUE")
改成
if (tf14.getText().equals("MAX_VALUE"))
[解决办法]
if 中的== 表示两个地址相等 而非内容相等 xxx.equals(“xxxx”)表示的才是内容相等 像楼上的那样改就对了

热点排行