JTextField tf=JTextField(10);String str=tf.getText();if(str!=null)
{
}
else
{
}
我想当tf里没有内容的时候,执行else里的语句,但是就算我在tf里不输入任何内容,str明明没任何东西,在if语句里判断str也不为空,所以if语句总是会被执行,,这是怎么回事???
如何可以解决这个问题???分不够再加,多谢!!!

解决方案 »

  1.   

    if(str!=null && 0 != str.length())
      

  2.   

    str明明没任何东西,在if语句里判断str也不为空,所以if语句总是会被执行,,这是怎么回事???=======
     没看懂你要问什么... 这里应该不是判断 str 为 null吧....  
     因为你已经对其初始化了
     应该是  str!="" 或用str字串长度来判断是否为空
      

  3.   

    if(str!=null)
    {
    }
    如果空的话,不是应该执行if语句么!!
    要不空的时候执行else吧
      

  4.   

    String str =null;
    String str =String str=tf.getText();
    如果不初始化,在你创建str的对象后,就会给str分配存储空间,而在这个存储空间中可能本来就存着数据,就把这个值赋给str。
      

  5.   

    LZ条件写错了 不是str!=null
    应该是!str.equals("")
    因为即使在文本筐中不输入内容 str的值只会是空字符串 而不是null 
    空字符串和NULL要区分清楚
      

  6.   

    if(str!=null || "".equals(str))
      

  7.   

    要区分null和""。
    null表示一个对象是空的,如果对这个对象引用会出现NullPointerException
    ""表示一个长度为0的字符串,这个对象是存在的,不是null。tf.getText()返回的是文本字符串,永远不会出现null的。
    想要确定用户没有输入,需要使用str.length()==0或者"".equals(str)就可以了。
      

  8.   

    应该判断str是不是为空,不是null