java类型判断,java中判断类型的方法

发布时间:2023-01-09

本文目录一览:

  1. Java中怎样判断一个变量是否属于哪种类型
  2. java如何判断属性类型?
  3. JAVA怎样判断一个对象的类型
  4. java怎么判断一个数据是什么类型
  5. java怎么判断int是否为空?
  6. java如何判断属性类型

Java中怎样判断一个变量是否属于哪种类型

变量类型识别有3种方法:

  1. 通过反射拿到变量的类型;
  2. instanceof 关键字判断;
  3. 通过Java的多态(方法重载)来DIY类型识别。 举例如下:
package com.cxyapi.oo;
/**
 * 类型识别工具测试类
 * @author cxy @
 */
public class TypeToolsTest {
    public static void main(String[] args) {
        int i = 0;
        TypeObject to = new TypeObject();
        // 1. 反射
        System.out.println("to的类型:" + to.getClass().getSimpleName());
        System.out.println(int.class.getSimpleName());
        System.out.println(Integer.class.getSimpleName());
        // 但是对于一个不确定类型的基本数据类型变量我们没法用反射来获取其类型。
        System.out.println("----------------------");
        // 2. instanceof
        if (to instanceof TypeObject) {
            System.out.println("to是TypeObject类型的");
        }
        // 但是这种办法貌似也没法确定基本数据类型
        System.out.println("----------------------");
        // 以上两种方式对于对象,引用类型的都很好用,但是对基本数据类型就不那么好用了。
        // 3. 通过多态(方法的重载)
        System.out.println("i是:" + TypeTools.getType(i));
        System.out.println("to是:" + TypeTools.getType(to));
        System.out.println("\"cxyapi\"是:" + TypeTools.getType(""));
        // 可以看出来 最后一种方式使用多态的方式达到了检测类型(基本类型和引用类型)的目的
        // 除了弥补其他两种方式不能检测基本数据类型的不足在外,还能自己DIY类型信息
    }
}
// 定义一个类,为了演示引用类型的类型检测
class TypeObject {}

自定义的类型识别工具:

package com.cxyapi.oo;
import java.util.HashMap;
import java.util.Map;
/**
 * 类型识别工具
 * @author cxy @
 */
public class TypeTools {
    // 获得类型
    public static Map<String, String> getType(Object o) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", o.getClass().getSimpleName());
        typeInfo.put("描述", "引用类型");
        return typeInfo;
    }
    public static Map<String, String> getType(int i) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "int");
        typeInfo.put("描述", "整形");
        return typeInfo;
    }
    public static Map<String, String> getType(long l) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "long");
        typeInfo.put("描述", "长整型");
        return typeInfo;
    }
    public static Map<String, String> getType(boolean b) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "boolean");
        typeInfo.put("描述", "布尔类型");
        return typeInfo;
    }
    public static Map<String, String> getType(char b) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "char");
        typeInfo.put("描述", "字符");
        return typeInfo;
    }
    public static Map<String, String> getType(float f) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "float");
        typeInfo.put("描述", "单精度浮点型");
        return typeInfo;
    }
    public static Map<String, String> getType(double d) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "double");
        typeInfo.put("描述", "双精度浮点型");
        return typeInfo;
    }
    public static Map<String, String> getType(String s) {
        Map<String, String> typeInfo = new HashMap<String, String>();
        typeInfo.put("类型", "String");
        typeInfo.put("描述", "字符串类型");
        return typeInfo;
    }
}

java如何判断属性类型?

你是想通过传入一个类模板然后判断出某个属性的类型? 利用反射可以做到:

Field filed = className.getDeclaredField(parameter);

className 为对应类模版,parameter 为你的属性名称

filed.getType().toString();

然后利用这个方法可以查询到对应属性类型。 基本类型直接返回比如 int 直接返回 int,如果是包装或者引用则直接返回对应包类名比如 class java.lang.Short。 如果你要获取所有的还是利用 class 对象:

Field[] fields = className.getDeclaredFields();

循环遍历就可以了。

JAVA怎样判断一个对象的类型

getName() 函数可以判断一个对象的类型。 此函数以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。

java怎么判断一个数据是什么类型

先得到对象的类字节码 Class 对象,通过 Class 对象再得到类型,而后进行判断是不原始类型方法可能是 isPrimitive 或数组 isArray()。 Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE, JavaME, JavaSE)的总称。 Java 自面世后就非常流行,发展迅速,对 C++ 语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。

java怎么判断int是否为空?

int point;
String val = point + "";

而是一个中间变量,

int point = GiftInfo.getPoints();

在数据库表中有属性字段名称 points,类型为 int。 Java 中的类型有基本类型:int, long, double 等,判断的为 0int)或者 0.0double/float)对象类型:包括基本类型的包装类,IntegerintDouble/Float 不给赋值的时候就为 null 了还有一个特殊的 String,本身是对象类型也是基本类型。

面向对象

Java 是一个面向对象的语言。对程序员来说,这意味着要注意应用中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。 每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java 程序是用类来组织的。 以上内容参考:百度百科-Java

java如何判断属性类型

你是想通过传入一个类模板然后判断出某个属性的类型? 利用反射可以做到:

Field filed = className.getDeclaredField(parameter);

className 为对应类模版,parameter 为你的属性名称

filed.getType().toString();

然后利用这个方法可以查询到对应属性类型。 基本类型直接返回比如 int 直接返回 int,如果是包装或者引用则直接返回对应包类名比如 class java.lang.Short。 如果你要获取所有的还是利用 class 对象:

Field[] fields = className.getDeclaredFields();

循环遍历就可以了。