当count等于零时,如何不返回任何内容?

时间:2019-09-18 22:48:24

标签: java

我希望countChar函数仅在计数大于零时才返回值,否则我希望它什么都不返回。

我知道该方法不能返回null,因为null不能是Int。还有另一种方法可以有效地返回“空”值吗?

currentSrc

错误:类型不兼容:无法转换为int       返回null;              ^ 我希望它绝对返回零而不是零。

3 个答案:

答案 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)

您可以通过两种方式进行更改。

  1. 通过更改给定的比较逻辑。如果为零,它将不返回任何内容。
binding=False