JTextArea.getText()返回null,闪卡程序无法保存卡片求助
问题解决:QuizCard构造函数赋值错误导致保存卡片为null
问题根源在QuizCard类的构造函数中,你完全搞反了赋值方向:
public QuizCard(String q, String a) { q = question; // 错误:将成员变量(初始为null)赋值给参数q a = answer; // 错误:将成员变量(初始为null)赋值给参数a }
正确写法应该是把传入的参数赋值给类的成员变量:
public QuizCard(String q, String a) { this.question = q; this.answer = a; }
额外说明:
- 实际上JTextArea的
getText()方法是正常返回输入内容的,但因为构造函数没有把这些内容存入QuizCard的成员变量,后续调用getQuestion()和getAnswer()时自然返回初始的null值。 - 建议给
QuizCard的成员变量加上private修饰符,既符合封装原则,也能避免参数和成员变量的命名混淆。
内容的提问来源于stack exchange,提问作者maverickar
相关产品推荐
相关产品推荐

