我希望countChar函数仅在计数大于零时才返回值,否则我希望它什么都不返回。
我知道该方法不能返回null,因为null不能是Int。还有另一种方法可以有效地返回“空”值吗?
currentSrc
错误:类型不兼容:无法转换为int 返回null; ^ 我希望它绝对返回零而不是零。
答案 0 :(得分:2)
使用Integer
代替int
,其他所有内容保持不变:
public static Integer countChar(String str, char ch){...}
答案 1 :(得分:2)
但是,然后命名方法就没有意义了-countChars会计算字符串中出现char的次数。如果没有出现特定的字符,则0是一个完全合理的响应。 Null并不是一个合理的响应-如果您想使用null,那么让调用countChars的方法返回0并像对待null一样继续进行操作:
int result = countChars("Hello world", 'z');
if(result == 0)
someMethod(null);
else
someMethod(result.ToString());
即使抛出异常也比返回null更好,因为它至少告诉开发人员谁在使用您的代码,这是什么错误,并提供了一些有关如何解决它的线索。要求代码做一些不应该真正返回空响应的事情,而获得空响应可能使使用
令人沮丧。答案 2 :(得分:0)
您可以通过两种方式进行更改。
binding=False