「java怎样判断数据类型」java怎么看数据类型

博主:adminadmin 2023-01-19 02:12:12 334

本篇文章给大家谈谈java怎样判断数据类型,以及java怎么看数据类型对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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

getClass().getName()

或者可以判断

if(obj instanceOf java.XXX.XXX)

第一个是得到类名

第二个可以判断对象是不是某一个类的对象

java如何判断数据类型

给你一个封装好的方法,只要把excel中的cell放入就会返回对应的值,里面有类型检测

public static String getExcelCellValue(HSSFCell cell) {

String ret = "";

// if (HSSFDateUtil.isCellDateFormatted(cell)) {

// Date date = cell.getDateCellValue();

// ret = "" + date.getTime();

// } else

try {

if (cell == null) {

ret = "";

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {

ret = cell.getStringCellValue().trim();

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {

ret = "" + cell.getNumericCellValue();

String temp = ret.substring(ret.indexOf(".") + 1, ret.length());

try {

if (Integer.parseInt(temp) == 0) {

ret = ret.substring(0, ret.indexOf("."));

}

} catch (Exception ex) {

}

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {

ret = cell.getCellFormula();

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_ERROR) {

ret = "" + cell.getErrorCellValue();

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {

ret = "" + cell.getBooleanCellValue();

} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {

ret = "";

}

} catch (Exception ex) {

ex.printStackTrace();

ret = "";

}

return ret;

}

Java程序 判断数据类型

instanceof运算符,是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:

result = object instanceof class

而你的代码:if (!(x instanceof Double)判断的是一个double基本类型数据是否是一个Double对象,这肯定不行,如果还不清楚,进5044群5871

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 MapString,String getType(Object o)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", o.getClass().getSimpleName());  

        typeInfo.put("描述", "引用类型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(int i)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "int");  

        typeInfo.put("描述", "整形");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(long l)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "long");  

        typeInfo.put("描述", "长整型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(boolean b)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "boolean");  

        typeInfo.put("描述", "布尔类型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(char b)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "char");  

        typeInfo.put("描述", "字符");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(float f)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "float");  

        typeInfo.put("描述", "单精度浮点型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(double d)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "double");  

        typeInfo.put("描述", "双精度浮点型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(String s)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "String");  

        typeInfo.put("描述", "字符串类型");  

        return typeInfo;  

    }  

      

}

java中如何判断输入的数据类型

你指的控制台输入是main方法参数吗?那参数是String数组,输入的数据当然是String.

1.你可以用正则表达式判断输入的数据是否输入的字符可以转化为你需要的类型,当然也可以用异常处理机制或其他方法判断是否可转。

2.可以转化的情况下就转化下如Integer.parseInt(参数)或直接强制转化(int)参数,这样运行就不错了。

java怎样判断数据类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么看数据类型、java怎样判断数据类型的信息别忘了在本站进行查找喔。