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
私が理解していないのは、if
私が取得していたときにステートメントに入らなかった理由null
です。だから私はこれをやった、それはうまくいった:
try {
if (!selectArtistByName(artist.getName()).equals(artist.getName())) {
}
} catch (NullPointerException e) {
m_db.insert(TABLE_ARTIST, null, artistContents);
}
私は Java の第一人者ではありませんが、私にとっては恐ろしい修正のように思えます。どうすればこれを修正できますか。