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