为了账号安全,请及时绑定邮箱和手机立即绑定

用于Java Void参考类型?

用于Java Void参考类型?

阿晨1998 2019-11-25 11:02:02
有一个Java Void(大写的V)引用类型。我见过的唯一情况是将Callables 参数化final Callable<Void> callable = new Callable<Void>() {            public Void call() {                foobar();                return null;            }        };Java Void引用类型还有其他用途吗?除此以外,还能分配其他任何东西null吗?如果是,您有例子吗?
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以使用反射创建Void实例,但是它们对任何事情都没有用。无效是一种指示通用方法不返回任何内容的方法。


Constructor<Void> constructor = Void.class.getDeclaredConstructor();

constructor.setAccessible(true);

Void v = constructor.newInstance();

System.out.println("I have a " + v);

打印类似


I have a java.lang.Void@75636731


查看完整回答
反对 回复 2019-11-25
?
FFIVE

TA贡献1797条经验 获得超6个赞

所有的原始包装类(Integer,Byte,Boolean,Double,等等)包含在静态到对应的原语类的引用TYPE字段,例如:


Integer.TYPE == int.class

Byte.TYPE == byte.class

Boolean.TYPE == boolean.class

Double.TYPE == double.class

Void最初被创建为放置对void类型的引用的地方:


Void.TYPE == void.class

但是,使用并不会真正获得任何收益Void.TYPE。使用时void.class,很明显您正在使用该void类型进行操作。


顺便说一句,我上一次尝试时,BeanShell无法识别void.class,因此您必须在那使用Void.TYPE。


分享编辑


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 446 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信