本文介绍使用null对象获取对象类型的处理方法?对大家解决问题有一定的参考价值。有需要的朋友,和小编一起学习吧!
问题描述
下面的代码可以编译,但是为什么会出现运行时异常?
代码可以,但为什么我会得到运行时间?
String b = null;
System.out.println(b.getClass());
我得到的错误是
java.lang.NullPointerException
即使设置为nulljava field对象set方法,如何获取对象的类型?
即使设置为 null,我如何获取类型?
EDIT 我意识到不存在对象,但仍然存在字符串b类型的对象。即使它没有对象,它仍然有一个类型。如何获取对象的类型,是否包含对象。
EditI 没有,但仍然有一个 b 类型。即使它持有 no ,它仍然有一个类型。我如何获得 an 的类型,如果它持有或不持有。
推荐答案
当你有
String b = null;
你实际上拥有的是一个引用类型的变量,它引用 .您不能取消引用 null 来调用方法。
你所拥有的是一个空类型。你对一个 .
使用局部变量,你不能做你所要求的。
在本地,您可以做自己的事情。
通过成员变量,可以使用反射来查找字段的声明类型。
使用java field对象set方法,可以用来查找字段的类型。
Field field = YourClass.class.getDeclaredField("b");
Class clazz = field.getType(); // Class object for java.lang.String
这篇文章是关于使用空对象获取对象的类型?这是文章的结尾。希望我们推荐的答案对您有所帮助,也希望您多多支持IT之家!
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容