我有一个清单:
List list = new ArrayList();
list.add(23.23);
list.add(234);
list.add("abcd");
我正在迭代它:
for(Object o : list){
// System.out.println(o.getClass());
if(o.getClass().equals(Integer.class)){
}
else if(o.getClass().equals(Double.class)){
}
else if(o.getClass().equals(String.class)){
}
}
如何获取每个对象的长度?
预期输出:
4
3
4
答案 0 :(得分:3)
如果 primitives 像integer一样,则传递double,它们自动装箱到它们的包装器Integer, Double
。而且他们没有长度属性。是String
具有长度属性和具有相同名称的方法。
所以,
- 使用 Generics 。
- 如果要查找 int / double 的长度,请使用
醇>String.valueOf()
将其转换为字符串,然后调用length()
。
答案 1 :(得分:0)
正如TheLostMind所说:
for(Object o : list){
System.out.println(String.valueOf(o).length());
}