使用 null 对象获取对象的类型?

本文介绍使用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 来调用方法。

你所拥有的是一个空类型。你对一个 .

使用局部变量,你不能做你所要求的。

在本地,您可以做自己的事情。

图片[1]-使用 null 对象获取对象的类型?-唐朝资源网

通过成员变量,可以使用反射来查找字段的声明类型。

使用java field对象set方法,可以用来查找字段的类型。

Field field = YourClass.class.getDeclaredField("b");
Class clazz = field.getType(); // Class object for java.lang.String

这篇文章是关于使用空对象获取对象的类型?这是文章的结尾。希望我们推荐的答案对您有所帮助,也希望您多多支持IT之家!

© 版权声明
THE END
喜欢就支持一下吧
点赞281赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容