got3.getText()的返回值应该是""吧。如果是这样,那""并不等于null所以表达式的值为假。

解决方案 »

  1.   

    got3.getText()返回的是一個指向String的reference,該reference指向的對象不是null,該reference指向的對象的內容為"";所以你的等式是不會成立的.
      

  2.   

    应该用equals("")。因为getText返回的值不是null,而是一个字符串,没有内容时字符串为""。
      

  3.   

    got3.getText()返回的是一个string对象的实例,其值为""
      

  4.   

    可是用:
    if(got3.getText().equals(""))的话,
    它在任何情况下都为真了!!
    这怎么办?
      

  5.   

    如果不能做got3.getText()==null这样的比较的话,那下面的怎么解释:
    public void actionPerformed(ActionEvent event)
    {
    String command=event.getActionCommand();
    if(command=="Play")
    startPlaying();
    .......
    .......
    上面的程序是对的。
    但把我一楼的问题改为:
    JTextField got3=new JTextField();
    got3.setText(null);
    if(got3.getText()=="")
    也不行,if语句永远也得不到真!
      

  6.   

    ......
    不明白楼主做这个判断到底要干什么。上一句把got3清空,后一句判断是否为清空,当然为真。
      

  7.   

    说干什么也说不上,我只是想弄明白,在一个JTextField中,如何判断用户是否输入了东西。
    用以下两种方法均不行:
    一:
    JTextField got3=new JTextField();
    ......
    if(got3.getText()==null)//永远为假二:
    JTextField got3=new JTextField();
    .......
    if(got3.getText()=="")//永远为真
    或if(got3.getText().equals(""))//永远为真
    请问java在搞什么飞机?最后我又试了这种方法:
    JTextField got3=new JTextField();
    .......
    int num;
    num=Integer.parseInt("0"+got3.getText());
    if(num==0)//这样才能正确判断用户是否输入了东西。
      

  8.   

    楼主如果要判断是否为空串,则应该为:if(got3.getText().equals(""))
    如果判断是否为NULL则需要NULL来判断不可与一个空串STRING对象判断,这就是对象和应用的注意问题,其实引用就是指针,只是不象C可以运算。
      

  9.   

    ......
    为什么不用got3.Length()方法判断字符串长度是否>0??
      

  10.   

    [纠正]
    if (got3.getText().Length()>0) { ... }说明:getText如果发现底下的文本是null,会抛出NullPointerException,而不是返回null。""的长度为0。
      

  11.   

    "请问java在搞什么飞机?"不是Java搞飞机,是楼主没有理解是怎么回事。心情可以理解,但这样发泄不满似乎让人不好接受吧。//对事不对人,楼主如果觉得我的言语过激请见谅。