在java中如何判断一个变量的类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何判断一个变量的类型相关的知识,希望对你有一定的参考价值。

补充:instanceof 这个能判断一个对象的类型,但如果是String Integer ...这些类型就无法判断了,所以我如何判断一个 变量 a 的类型,想写通用的 preparedStatement 方法。省的每次都要写很多个 pps.setInt(2, type); pps.setString(3, subject); 等方法

nextElement()如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。 利用这两个函数,利用while循环就可以读取里面的元素,当然读取出来得元素通过强制转换,就可以和变量进行比较 希望对你有所帮助追问

你这是在说什么呢? 我怎么看不懂?

参考技术A 我觉得是根据需求来决定要转换成什么类型的,类型转换可以百度。追问

我不转换类型。
这样:我只是想知道一个不带范式的 ArrayList 对象中各个 值得具体类型,到底是 String类型呢,还是 Integer类型呢? 还是Float类型呢。

追答

你要是不做规定应该就是对象型

参考技术B 直接setObject即可追问

我也想到了这个,可是用这个跟用准确表述的 setInt setString 有什么区别吗? 是降低性能了呢?还是有可能出错?

追答

setObject可以代替所有其他的,我自己写的数据库封装类就用这个,效率就算有影响,应该也可以忽略不计,仅仅是一次类型转换

追问

我只是想知道一个不带范式的 ArrayList 对象中各个 值得具体类型,到底是 String类型呢,还是 Integer类型呢? 还是Float类型呢。

这个你知道怎么弄吗? 517257386 加QQ吧,以后多多交流,我也做java 4年了

追答

这个估计只能用instanceof 来一个个判断

List list = new ArrayList();
list.add("aaa");
list.add(111);
for (Object obj : list)
if (obj instanceof String)
System.out.println(obj + " is string");

if (obj instanceof Integer)
System.out.println(obj + " is integer");

本回答被提问者采纳

如何准确判断一个变量是数组类型

只有instanceof才能判断一个对象是否是真正的数组

var arr = []
arr instanceof Array         // true
typeof arr                         // object          typeof 是无法判断是否是数组的

扩展:实际应用中,和数组同样重要、起同样作用并且更加灵活的数据结构还是“伪数组”或者“类数据”(jquery 就用到了)。因此,在实际应用中,只需要判断length属性是否是数字即可。

var arr = []
var likeArr = {
    0: 'aaa',
    1: 'bbb',
    2: 'ccc',
    length: 3
}

typeof arr.length === 'number' // true
typeof likeArr.length === 'number' // true

以上是关于在java中如何判断一个变量的类型的主要内容,如果未能解决你的问题,请参考以下文章

在java中,怎样判断一个变量是啥类型的?

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

java中如何判断两个变量相等

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

java如何判断数据类型

java如何判断某一变量属于什么类型