1
public Card getCard()throws IOException{
Card c = null;
String cardInfo = null;
assert readStream != null: cardInfo = readStream.readLine();
assert cardInfo != null: c = CreateCard(cardInfo);
return c;
}
我有點失控的做法,我試圖通過使用assert語句來測試空值來提高我的代碼質量。似乎工作的方式,我最終不得不雛菊鏈我的斷言,因爲如果我測試的第一件事是空的,那麼下一個將是一個空以及......我是否正確使用Java斷言?
使用Java斷言,冒號後的部分是消息給讀者,併到標準輸出。另外,如果'readStream'爲空,它們的下一部分永遠不會被執行,所以你不必擔心'cardInfo'。但是你從哪裏得到'readStream'呢?這種方法的目的是什麼? –
請注意,您需要使用'-ea'啓動JVM才能啓用斷言 – fge