日期:2014-05-20  浏览次数:20874 次

在国外的中国同胞向大家求助!关于getText()方法! Linux 和 Windows区别!
本人现在调试一个程序,在windows中很正常!但是移植到Linux中就不行了!问题是
这个方法;
final String listcatPath = inputTextField.getText();
然后
if (!listcatPath.equals(""))在linux中就开始报错了.
原因我知道,是因为listcatPath一直是Null.然后报错 exception是 NullPointerException, 但是在Windows中是"",所以一切正常!
很奇怪!
大家有这方面经验的很帮忙啊.我的头很着急,我想尽快把这个问题解决掉.


------解决方案--------------------
windows和linux区别太多啦

if(null!=listcatPath&&!listcatPath.equals("")) {
}

不就可以了?
------解决方案--------------------
把你的代码改改不就行了
if (listcatPath != null && !listcatPath.equals(""))

平台之间的差异有时候很微妙的,getText()方法的定义规范里并没有要求不能返回null,所以你自己的程序必须学会去兼容它。
------解决方案--------------------
getText
public String getText()返回此 TextComponent 中包含的文本。如果底层文档为 null,则将给出 NullPointerException。注意,文本不是绑定属性,所以更改时不触发 PropertyChangeEvent。要侦听文本的更改,请使用 DocumentListener。 

返回:
文本 
抛出: 
NullPointerException - 如果文档为 null
另请参见:
setText(java.lang.String)

--------------------------------------------


看不懂就找个中文版的
------解决方案--------------------
不懂 学习一下
------解决方案--------------------
String s = inputTextField.getText(); 
s = (s == null)?"":s;

if(s.equals("")) {
//......
}
------解决方案--------------------
这个跟你在哪里没有关系吧,
本人最想骂的人有两种:
一,日本鬼子
二,就是自称为同胞的帮日本人做事的汉奸