Swing:JTextField的初始String是一个空String

Jes*_*rce 5 java swing jtextfield isnullorempty

关于构造函数JTextField,javadoc说:

public JTextField()

构造一个新的TextField.创建默认模型,初始字符串为空,列数设置为0.

但是,当我使用此构造方法,方法getText()JTextField返回空String,例如:

boolean b = new JTextField().getText().isEmpty();  // returns true.
Run Code Online (Sandbox Code Playgroud)

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

hun*_*ter 7

JTextField从Document获取文本,默认实现PlainDocument永远不会返回null.即使你试图调用JTextField.setText(null),它只会清除Document内容的值,但getText仍会返回空字符串.