我尝试查看有关此问题的帖子,但是我的代码在此错误上仍然遇到一些麻烦。因此,在第四行中,我创建了一个实例变量,称为SongDatabase
访问SongDatabase
该类。但是,当我坐下来行,SongDatabase.addNewSong();
下case 1
,我得到一个显示html" target="_blank">java.lang.NullPointerException:零误差。
接口类:
public class Interface
{
Scanner console = new Scanner(System.in);
private SongDatabase SongDatabase;
public static void main(String[] args) {
Interface intFace = new Interface();
intFace.run();
}
private void run() {
switch (userInput) {
case 1:
SongDatabase.addNewSong();
break;
case 2:
SongDatabase.removeSong();
break;
case 3:
SongDatabase.sortSongs();
break;
default:
System.out.println("Please enter a valid number.");
break;
}
}
SongDatabase类:
public class SongDatabase {
Scanner console = new Scanner(System.in);
private Song song1, song2, song3, song4;
public void addNewSong() {
if (song1 == null) {
song1 = getFromUser();
}
else if (song2 == null) {
song2 = getFromUser();
}
else if (song3 == null) {
song3 = getFromUser();
}
else if (song4 == null) {
song4 = getFromUser();
}
else {
System.out.println("The database is currently full. Please delete a song before adding a new one.");
}
}
我已经调试了整个调试器,并且知道实例变量SongDatabase = null,这可能是导致错误的原因吗?我以前有一条线
SongDatabase SongDatabase = new SongDatabase();
SongDatabase.addNewSong();
相反,但是我意识到这是每次都创建一个新的SongDatabase对象,并擦除我在那里存储的内容,因此我不得不对其进行更改。我真的很感谢一个解决方案,因为我不知道,谢谢!
您不应为实例字段提供与类相同的名称,因为这会导致变量阴影
-维基百科说,(部分) 变量阴影
是在一定范围内(决策块,方法或内部类)声明的变量相同时发生的。名称作为在外部作用域中声明的变量。在标识符(名称,而不是变量)级别,这称为名称掩码。您可以在声明时定义引用,例如
private SongDatabase songDatabase = new SongDatabase();
然后像
private void run() {
switch (userInput) {
case 1:
songDatabase.addNewSong();
break;
case 2:
songDatabase.removeSong();
break;
case 3:
songDatabase.sortSongs();
break;
default:
System.out.println("Please enter a valid number.");
break;
}
}
主要内容:Java14 NullPointerException的示例Java 14 引入了 NullPointerException 和有用的信息,以防 -XX:+ShowCodeDetailsInExceptionMessages 标志被传递给 JVM。 Java14 NullPointerException的示例 ApiTester.java 旧方法:编译并运行程序 输出结果为 新方式:用新标志编译和运行程序 输出结果为
我有在JavaFX TreeView中显示数据库结果应用程序。我完全按照这个答案所说的去做。但当我运行该程序时,我得到一个如下所示的错误。 错误指向Controller中的方法。 我该怎么解决这个..? 这是POJO类
问题内容: 我在crashlytics上收到此错误日志。我不知道是什么原因导致了崩溃。它发生在Android 4.x,5.x,6.x设备上。(三星,索尼,LGE等) 问题答案: 确保onCreateInputConnection重写方法中的输入连接不为null。 其中MyInputConnectionWrapper是自InputConnectionWrapper扩展的自定义输入连接包装器。
问题内容: 您好第一次在这里,但这里去: 我有一个JavaFX应用程序,它可以动态更改FXML UI标签,并且数据是从Player类中提取的。 有问题的两个类是和。 播放器类存储播放器详细信息,我想将这些详细信息传递给在标签上设置文本的Interface类。 作为测试,我的FXML UI仅具有一个按钮和两个标签。 如果单击按钮,它将调用设置为“ Town” 的方法。 但是,如果我在Player类中
我听从了@Hoaz的建议。但是,我得到了nullpointer异常 我还注意到DAO是null,所以我这样做了(只是为了提一下,我做了下面的步骤来尝试,我知道springUnit和Mockito或xyz之间的区别): 如何使用Mockito模拟外部方法调用 如何使用Mockito在模拟对象上设置属性?
我试图从我的机器上的mySQL数据库中获取数据。当我在模拟器上运行应用程序时,我得到一个< code > HttpHostConnectException (我已经在浏览器中测试了我的地址,并尝试了使用和不使用端口号的10.0.2.2),然后应用程序崩溃,出现< code > NullPointerException 。我能做些什么来解决这些问题? 连接器.java 主要活动.java 来自日志猫