如何将Integer添加到ArrayList <float> </float>

时间:2015-01-13 06:38:51

标签: java arraylist

我想将Integer添加到Float类型的Type safe ArrayList。

Float a = new Float(1.1);
ArrayList<Float> obj = new ArrayList<Float>();
obj.add(a);//In the obj object I want to add integer. how can I do that?
Integer b = new Integer(1);
obj.add(b);/*The method add(Float) in the type ArrayList<Float> 
                is not applicable for the arguments (Integer)*/

5 个答案:

答案 0 :(得分:4)

将ArrayList的类型更改为:ArrayList<Number>

因为NumberFloatInteger的基类。所以你可以将它们都存储在列表中。

或将您的Integer转换为Floatobj.add(Float.valueOf(b));

答案 1 :(得分:0)

试试这个

obj.add((float) b);

这会获得float

integer个数字

或者

obj.add(Float.parseInt(b));

答案 2 :(得分:0)

您无法指定ArrayList的类型:

    Float a = new Float(1.1);
    ArrayList<Float> obj = new ArrayList<Float>();
    obj.add(a);//In the obj object i want to add integer how can i do that
    Integer b = new Integer(1);
    ArrayList newobj = (ArrayList) obj;
    newobj.add(b);

    for (Object object : newobj) {
        System.out.println(object.getClass());
    }

输出:

class java.lang.Float
class java.lang.Integer

或者您可以使用ArrayList<Number>

    Float a = new Float(1.1);
    ArrayList<Number> obj = new ArrayList<Number>();
    obj.add(a);//In the obj object i want to add integer how can i do that
    Integer b = new Integer(1);

    obj.add(b);

    for (Number object : obj) {
        System.out.println(object.getClass());
    }

输出:

class java.lang.Float
class java.lang.Integer

答案 3 :(得分:0)

怎么样?
obj.add(b.floatValue());

或使用ArrayList<Number>

答案 4 :(得分:0)

这是我最终添加Integer而不更改ArrayList类型的方法,但是会生成警告

public class MyArrayList{
public static void main(String[] args) {
    Float a = new Float(1.1);
    ArrayList<Float> obj = new ArrayList<Float>();
    obj.add(a);
    function1(obj);
    for (Object obj2 : obj) {
        System.out.println(obj2);
    }
}
private static void function1(ArrayList list) {
    Integer b = new Integer(1);
    list.add(b);
}

}