Java TextField getText()给我一个字符串,我可以';无法比较

Java TextField getText()给我一个字符串,我可以';无法比较,java,string,swing,listener,textfield,Java,String,Swing,Listener,Textfield,我想控制字符串形式的文本字段何时为空。下面是带有简单Swing界面的代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Try{ public static void main(String[] args) { JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.setLayout

我想控制字符串形式的文本字段何时为空。下面是带有简单Swing界面的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Try{

public static void main(String[] args) {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    panel.setLayout(null);
    JTextField text = new JTextField();
    JButton button = new JButton("ok");
    button.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            String get = "";
            get = text.getText();
            if ( get == "" ) System.out.println("Is not empty");
            else System.out.println("Is empty");
        }
    });

    panel.add(text);
    text.setBounds(0, 0, 50, 20);
    panel.add(button);
    button.setBounds(60, 0, 50, 20);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(100,100);
    frame.getContentPane().add(panel);
    frame.setVisible(true);
  }
}
但是,如果你在文本字段中填充了一些内容,然后按下ok按钮,那么if将始终打开“为空”。。。所以,if总是假的


怎么了

要比较字符串,必须使用
.equals(String)
函数

字符串是一个对象,因此
==
会比较两个字符串的对象引用

但您需要的是比较字符串值

你应该使用

if ( "".equals(get) ) System.out.println("Is not empty");

要比较字符串,必须使用
.equals(String)
函数

字符串是一个对象,因此
==
会比较两个字符串的对象引用

但您需要的是比较字符串值

你应该使用

if ( "".equals(get) ) System.out.println("Is not empty");
请尝试:

if (yourJTextField.getText().equals(""))
{
 ...
}
请尝试:

if (yourJTextField.getText().equals(""))
{
 ...
}
当您通过代码确定它不为空时,打印“为空”。当您通过代码确定它不为空时,打印“为空”