java 获取对象的数据类型、数据类型转换

时间:2024-04-15 11:00:21

获取对象类型:obj.getClass().toStriing();
Integer.valueOf返回的是Integer对象,Integer.parseInt返回的是int

 

package com.test;

public class CV {
    public static void main(String[] args) throws ClassNotFoundException {
        // 其他类型转String
        int a = 5;
        String s = String.valueOf(a); // 其中 a 为任意一种数字类型。
        
        // 字符串型转换成各种数字类型
        String weight = "65";
        byte b_weight = Byte.parseByte(weight);
        short s_weight = Short.parseShort(weight);
        int i_weight = Integer.parseInt(weight);
        long l_weight = Long.parseLong(weight);
        float f_weight = Float.parseFloat(weight);
        double d_weight = Double.parseDouble(weight);
        // System.out.println(b_weight);  // 65
        // System.out.println(s_weight);  // 65
        // System.out.println(i_weight);  // 65
        // System.out.println(l_weight);  // 65
        // System.out.println(f_weight);  // 65.0
        // System.out.println(d_weight);  // 65.0
        
        // 获取对象类型
        // System.out.println(weight.getClass().getName());  // java.lang.String
        // System.out.println(weight.getClass().toString());  // class java.lang.String
        Object res = getType3(i_weight);
        System.out.println(res);
        System.out.println(res instanceof Integer);
        if (res instanceof Integer){
            System.out.println("a is Integer");
        }
        System.out.println(getType(i_weight));
        System.out.println(getType2(i_weight));  // Integer

        // 获取类名
        // System.out.println(CV.class);  // class com.test.CV
        // System.out.println(new Test().getClass());  // class com.test.Test
        // System.out.println(Class.forName("com.test.Test"));  // class com.test.Test
    }

    public static String getType(Object obj){
        System.out.println(obj.getClass().getName());  // 如果传入整数,输出java.lang.Integer
        System.out.println(obj.getClass().toString());  // 如果传入整数,输出class java.lang.Integer
        return obj.getClass().getName();
    }

    public static Object getType3(Object obj){
        return obj.getClass();
    }

    public static String getType2(Object obj){
        String typeName=obj.getClass().getName();
        // System.out.println("typeName-------" +typeName);  // 如果传入整数,输出java.lang.Integer
        int length = typeName.lastIndexOf(".");
        // System.out.println("length-------" +length);  // 输出9,lastIndexOf表示最后一次出现的位置,返回的是下标 ,找不到返回-1
        String type =typeName.substring(length+1);  //  substring截取字符串typeName,从下标为length+1开始到最后
        return type;
    }
}

class Test{

}