2013-09-27 47 views
0

如果一个方法必须返回一个对象,并且它有一个返回null的选项。但是如果一个函数必须返回一个int,如果int这样的返回值无法被发现/产生等,该怎么办?即抛出异常?返回一个布尔?将返回类型从int更改为某个数据对象?null替代方法返回整数

+2

我不明白你的问题。如果它的返回类型是“int”,则必须返回一个“int”。如果您想要引用类型,请将其返回类型更改为“Integer”。 –

+0

尝试创建一个返回int并将其测试出来的方法:) – gjman2

回答

3

可以使用整数包装对象

public Integer returnNull(){ 
    return null; 
} 

不过要小心,因为这将编译,然后抛出一个NullPointerException

public void myMethod(){ 
    .... 
    int i = returnNull(); 
    .... 
} 

感谢自动装箱。

你有建议你不能返回一个布尔值的选项。 抛出异常是干净/ java的方式来做到这一点。

+2

如果返回类型是一个“可选”Integer,则只应将其分配给Integer并将其视为可选 - 即检查是否为空值。 –

+0

这是对他的问题的实际答案,或只是对自动装箱的咆哮? – jedwards

+0

@jedwards我没有与自动装箱的牛肉。 – BevynQ

0

return -1。那与诠释最通常的做法返回

+1

只关心-1是否也可以是有效的答案。 – JavaDeveloper

+0

@JavaDeveloper有效点。在某些情况下,方法返回Integer.MAX_VALUE或INTEGER.MIN_VALUE或SOME_APPLICATION_DEFINED_CONSTANT而不是-1。这些有时候不太可能是有效的答案,例如这是两个(合理)日期之间的差异。 – user949300