我如何获得给定值是整数或字符串
How do I get given value is Integer Or String
我正在努力寻找问题的解决方案。我的问题是我得到一个名为 "key"
的参数值,它的数据类型是 Object
。在开始使用此 key
之前,我想先检查它是 Integer
还是 String
以及任何类型的 data-type
(主要目的是检查 Integer
& String
).
我已经尝试了 google,但没有任何用处。
请提供一些解决方案。
非常感谢。
例子
if(key is Integer){
//do something here
}else{
// do something here
}
对于整数 -
if(key instanceof Integer){
//Integer
}
对于字符串 -
if(key instanceof String){
//String
}
或者您可以使用 key.getClass()
我使用如下
public static void main(String... args) {
Test test = new Test();
test.invoke(1);
test.invoke("something");
}
public void invoke(Object obj) {
if (obj != null) {
if (obj.getClass() == Integer.class) {
System.out.println("It is integer !");
}
else if (obj.getClass() == String.class) {
System.out.println("It is String !");
}
}
}
输出
It is integer !
It is String !
您可以尝试使用 instatnceOf 运算符。它会告诉你key是不是Integer类型。
if(key instanceOf Integer)
{
//key is Integer type
}
我正在努力寻找问题的解决方案。我的问题是我得到一个名为 "key"
的参数值,它的数据类型是 Object
。在开始使用此 key
之前,我想先检查它是 Integer
还是 String
以及任何类型的 data-type
(主要目的是检查 Integer
& String
).
我已经尝试了 google,但没有任何用处。
请提供一些解决方案。
非常感谢。
例子
if(key is Integer){
//do something here
}else{
// do something here
}
对于整数 -
if(key instanceof Integer){
//Integer
}
对于字符串 -
if(key instanceof String){
//String
}
或者您可以使用 key.getClass()
我使用如下
public static void main(String... args) {
Test test = new Test();
test.invoke(1);
test.invoke("something");
}
public void invoke(Object obj) {
if (obj != null) {
if (obj.getClass() == Integer.class) {
System.out.println("It is integer !");
}
else if (obj.getClass() == String.class) {
System.out.println("It is String !");
}
}
}
输出
It is integer !
It is String !
您可以尝试使用 instatnceOf 运算符。它会告诉你key是不是Integer类型。
if(key instanceOf Integer)
{
//key is Integer type
}