gpt4 book ai didi

java - 如何在java中识别对象类型

转载 作者:IT老高 更新时间:2023-10-28 20:55:49 25 4
gpt4 key购买 nike

Possible Duplicate:
How to determine an object's class (in Java)?
Java determine which class an object is

我有以下示例不完整的方法来比较给定对象的对象类型

public void test(Object value) {

if (value.getClass() == Integer) {
System.out.println("This is an Integer");
}else if(value.getClass() == String){
System.out.println("This is a String");
}else if(value.getClass() == Float){
System.out.println("This is a Float");
}

}

方法可以这样调用:

test("Test");
test(12);
test(10.5f);

此方法实际上不起作用,请帮助我使其起作用

最佳答案

你忘记了 .class:

if (value.getClass() == Integer.class) {
System.out.println("This is an Integer");
}
else if (value.getClass() == String.class) {
System.out.println("This is a String");
}
else if (value.getClass() == Float.class) {
System.out.println("This is a Float");
}

请注意,这种代码通常是糟糕的 OO 设计的标志。

还要注意,将对象的类与类进行比较和使用 instanceof 不是一回事。例如:

"foo".getClass() == Object.class

是假的,而

"foo" instanceof Object

是真的。

是否必须使用其中一个取决于您的要求。

关于java - 如何在java中识别对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com