Swing:JTextField的初始String为空String

Swing: the initial String of JTextField is an empty String

关于JTextField的构造函数,javadoc说:

public JTextField()

Constructs a new TextField. A default model is created, the initial string is null, and the number of columns is set to 0.

但是当我使用这个构造函数时,方法getText() of JTextField returns 一个空的String,例如:

boolean b = new JTextField().getText().isEmpty();  // returns true.

为什么 getText() 返回的值是空 String 而不是 null

JTextField 从 Document 获取文本,默认实现 PlainDocument 从不 returns null。即使您尝试调用 JTextField.setText(null),它只会清除文档内容的值,但 getText 仍然会 return 空字符串。