JTextField tf=JTextField(10);String str=tf.getText();if(str!=null)
{
}
else
{
}
我想当tf里没有内容的时候,执行else里的语句,但是就算我在tf里不输入任何内容,str明明没任何东西,在if语句里判断str也不为空,所以if语句总是会被执行,,这是怎么回事???
如何可以解决这个问题???分不够再加,多谢!!!
{
}
else
{
}
我想当tf里没有内容的时候,执行else里的语句,但是就算我在tf里不输入任何内容,str明明没任何东西,在if语句里判断str也不为空,所以if语句总是会被执行,,这是怎么回事???
如何可以解决这个问题???分不够再加,多谢!!!
解决方案 »
- java初学者的困惑——关于字符串的问题
- 运行出现如下错误!
- java打包生成执行文件 出现错误:invaild header field
- 急啊,如何解决JAVA HEAP SPACE错误?
- 一个字符串"evenColumn,oddColumn,evenColumn,oddColumn..."排列,在中间插入新字符串
- 请帮忙 !!servlet中用jxl生成excel出现的问题,
- 我们公司要做一个管理系统,请大家进来和我一起探讨。
- 一个困扰我好久的小问题。。
- 牛人帮忙写个javasceipt代码
- 关于在同一个包调用
- 来嘛,你要的100分的帖子.....来嘛,我是真诚的,请教你
- 提问各位前辈关于JDK1.5新特性的问题
没看懂你要问什么... 这里应该不是判断 str 为 null吧....
因为你已经对其初始化了
应该是 str!="" 或用str字串长度来判断是否为空
{
}
如果空的话,不是应该执行if语句么!!
要不空的时候执行else吧
String str =String str=tf.getText();
如果不初始化,在你创建str的对象后,就会给str分配存储空间,而在这个存储空间中可能本来就存着数据,就把这个值赋给str。
应该是!str.equals("")
因为即使在文本筐中不输入内容 str的值只会是空字符串 而不是null
空字符串和NULL要区分清楚
null表示一个对象是空的,如果对这个对象引用会出现NullPointerException
""表示一个长度为0的字符串,这个对象是存在的,不是null。tf.getText()返回的是文本字符串,永远不会出现null的。
想要确定用户没有输入,需要使用str.length()==0或者"".equals(str)就可以了。