每个列表对象的长度 - Java

时间:2015-01-12 13:27:37

标签: java arraylist

我有一个清单:

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

2 个答案:

答案 0 :(得分:3)

如果 primitives 像integer一样,则传递double,它们自动装箱到它们的包装器Integer, Double。而且他们没有长度属性。是String具有长度属性和具有相同名称的方法。

所以,

  
      
  1. 使用 Generics
  2.   
  3. 如果要查找 int / double 的长度,请使用String.valueOf()将其转换为字符串,然后调用length()
  4.   

答案 1 :(得分:0)

正如TheLostMind所说:

for(Object o : list){
    System.out.println(String.valueOf(o).length());
}