复制下面代码:
class Test{
public static void main(String[] args){
int i=1; //int类型变量
System.out.println(getType(i)); //打印变量类型为int
}
public static String getType(Object o){ //获取变量类型方法
return o.getClass().toString(); //使用int类型的getClass()方法
}
}
扩展资料:
java8种基本数据类型 (4种整型+2种浮点型+1种字符型+1种逻辑型)
4种整型:
byte-1 字节:-128~127 ;
short -2 字节:-32768~32767 ;
int-4 字节:-2^31~2^31-1;
long-8 字节:-2^63~2^63-11234。
2种浮点型
float-4 字节-32位IEEE 754单精度(有效位数6~7位);
double-8 字节-64位IEEE 754双精度(有效位数15位)。
1种字符型
char-2 字节-整个Unicode字符集。
1种逻辑型
boolean-1 字节-true或者false。
通过java的反射机制获取。
在类加载的时候,jvm会创建一个class对象。class对象是可以说是反射中最常用的,获取class对象的方式的主要有三种:
1、根据类名:类名.class。
2、根据对象:对象.getClass()。
3、根据全限定类名:Class.forName(全限定类名)。
创建一个测试代码如下:
console结果:
扩展资料:
java反射机制的更多应用场合:
在Java程序中许多对象在运行是都会出现两种类型:编译时类型和运行时类型。 编译时的类型由声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定。
例如:Person p=new Student();
其中编译时类型为Person,运行时类型为Student。
除此之外,程序在运行时还可能接收到外部传入的对象,该对象的编译时类型为Object,但是程序有需要调用该对象的运行时类型的方法。
为了解决这些问题,程序需要在运行时发现对象和类的真实信息。然而,如果编译时根本无法预知该对象和类属于哪些类,程序只能依靠运行时信息来发现该对象和类的真实信息,此时就必须使用到反射机制。
参考资料:
百度百科--JAVA反射机制(getClass())
用java的反射机制啊!
比如String str = "abc";
Class c1 = str.getClass();
system.out.println(str.getClass());
就会显示了
用reflected getType() 自己查。
直接输出你就知道了。
System.out.println(a);