【发布时间】:2013-08-04 16:47:52
【问题描述】:
我一直在努力寻找为什么我的if 语句不能正常工作,所以我改用了try catch 块。这是我的 if 语句:
//selectArtistByName returns an Artist object
if (!selectArtistByName(artist.getName()).equals(artist.getName()) ||
selectArtistByName(artist.getName())==null) {
//save data to database
}
当我运行上述代码时,我得到了一个 NullPointerException,因为方法 selectArtistByName 正在返回 null,因为数据库是空的。我不明白为什么当我收到null 时它没有出现在if 语句中。所以我这样做了,它奏效了:
try {
if (!selectArtistByName(artist.getName()).equals(artist.getName())) {
}
} catch (NullPointerException e) {
m_db.insert(TABLE_ARTIST, null, artistContents);
}
我不是 Java 专家,但它对我来说似乎是一个可怕的修复。我怎么能解决这个问题。
【问题讨论】:
标签: java