Java_获取变量的类型

via: http://blog.sina.com.cn/s/blog_4779b7f50100av88.html

 

如果是对象,那么可以使用getClass().getName()方法获得该对象的类名,

然,还有就是利用反射机制获取原数据类型的,这个时候如果需要确定类型,  

同样的,反射机制返回值是对象,比如对于类属性的返回,是Field对象,可以  

通过里面的getType().getName()获得该属性的类型名称,下面一个例子:

Type   =   new   Test().getClass().getDeclaredField("testClass").getType().getName();   //得到某个类下属性字段的类型

"w".getClass().getName(); //得到变量类型

new   Test().getClass().getName()//得到对象类名

Java中,获取变量类型可以通过反射(Reflection)API实现。反射是Java的一个特性,允许程序在运行时对类、方法、接口、字段等进行操作。具体到获取变量类型,可以使用`java.lang.Class`类来获取。 每个类在Java虚拟机中都有一个对应的`Class`对象,这个对象包含了类的所有信息。当你获取到一个类的`Class`对象后,就可以使用它提供的方法来获取变量类型信息。例如,可以使用`Class.getSuperclass()`方法获取父类类型,使用`Class.getField(String name)`或`Class.getDeclaredField(String name)`方法获取字段(变量)并进而得到其类型。 下面是一个简单的示例代码,展示如何获取一个对象的字段类型: ```java import java.lang.reflect.Field; public class GetTypeExample { public static void main(String[] args) { try { // 假设有一个类 Test,其中有一个字段为int类型的number Test test = new Test(); // 获取Test类对应的Class对象 Class<?> clazz = test.getClass(); // 获取字段名为number的Field对象 Field numberField = clazz.getDeclaredField("number"); // 获取字段的类型 Class<?> fieldType = numberField.getType(); // 输出字段的类型 System.out.println("字段类型为: " + fieldType); } catch (NoSuchFieldException e) { e.printStackTrace(); } } // 定义一个简单的类 private static class Test { public int number = 10; } } ``` 在这个例子中,我们创建了一个名为`Test`的内部类,它有一个名为`number`的字段。在`main`方法中,我们通过反射机制获取了`Test`类的`Class`对象,然后通过`getDeclaredField`方法获取了名为`number`的字段,并通过调用`getType`方法得到了该字段的类型,最后输出了类型信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值