返回 Void 对象
2022-08-31 08:20:42
当类型不是基元时,返回类型的正确方法是什么?例如。我目前使用空值,如下所示。Void
interface B<E>{ E method(); }
class A implements B<Void>{
public Void method(){
// do something
return null;
}
}
当类型不是基元时,返回类型的正确方法是什么?例如。我目前使用空值,如下所示。Void
interface B<E>{ E method(); }
class A implements B<Void>{
public Void method(){
// do something
return null;
}
}
Void 类是一个无法证实的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。
因此,以下任何一项就足够了:
Object
new Object()
null
Void
null
NullObject
你不能做这个方法,其他任何东西都会返回一些东西。由于忽略了某些内容,因此您可以返回任何内容。void
Java 8 引入了一个新的类 ,可以在这种情况下使用。要使用它,您需要稍微修改代码,如下所示:Optional<T>
interface B<E>{ Optional<E> method(); }
class A implements B<Void>{
public Optional<Void> method(){
// do something
return Optional.empty();
}
}
这使您可以确保始终从方法中获取非 null 返回值,即使没有任何要返回的内容也是如此。当与检测何时可以返回或何时不能返回的工具(例如Eclipse和注释)结合使用时,这尤其强大。null
@NonNull
@Nullable