裁剪代码如下。
我正在使用 Java 和 NetBeans。我已将两个字符串变量dbName和succeededConnected声明为字段。
成功连接打印dbName。
行,JOptionPane.showMessageDialog(null, successfullyConnected ); 打印“成功连接到空”而不是“成功连接到数据库”。
将文本直接放入参数中,JOptionPane.showMessageDialog(null, "Successfully connected to " + dbName ); , 打印所需的文本。
我的问题是,为什么使用字段存储字符串不起作用?为什么当我使用成功连接打印时dbName会恢复为 null ,但直接放在方法调用中时不会?
public class ABMain extends JFrame implements ActionListener {
//Field
...
private static String dbName;
private static String successfullyConnected = "Successfully connected to " +dbName;
//Constructor
public ABMain() {
...
}
//Listener
public void actionPerformed (ActionEvent e) {
if (e.getSource() == item1) {
dbName = JOptionPane.showInputDialog(requestDBName);
try {
stmt = ABDerbyConnection.createCon(dbName);
JOptionPane.showMessageDialog(null, successfullyConnected); //echo for debugging
} catch (SQLException ex) {
...
}
...
}
}
public static void main(String[] args) {
new ABMain();
}
}