如何将int转换为Integer

时间:2011-03-25 06:30:22

标签: android

private static HashMap<Integer, Bitmap> mBitmapCache;         
mBitmapCache.put(R.drawable.bg1,object);                       

R.drawable.bg1int ...但我希望转换为Integer,因为Hashmap需要Integer ...并且在绘制倍数时以秒为单位的对象,它创建一个Integer Object运行时 这会影响代码的性能......

5 个答案:

答案 0 :(得分:41)

int iInt = 10;
Integer iInteger = new Integer(iInt);

答案 1 :(得分:11)

如上所述,一种方法是使用

new Integer(my_int_value)

但是你不应该直接调用包装类的构造函数

因此,请相应地修改代码:

mBitmapCache.put(Integer.valueOf(R.drawable.bg1),object);

答案 2 :(得分:1)

我有类似的问题。为此,您可以使用带有“string”和“object”的Hashmap,如下面的代码所示:

/** stores the image database icons */
public static int[] imageIconDatabase = { R.drawable.ball,
        R.drawable.catmouse, R.drawable.cube, R.drawable.fresh,
        R.drawable.guitar, R.drawable.orange, R.drawable.teapot,
        R.drawable.india, R.drawable.thailand, R.drawable.netherlands,
        R.drawable.srilanka, R.drawable.pakistan,

};
private void initializeImageList() {
    // TODO Auto-generated method stub
    for (int i = 0; i < imageIconDatabase.length; i++) {
        map = new HashMap<String, Object>();

        map.put("Name", imageNameDatabase[i]);
        map.put("Icon", imageIconDatabase[i]);
    }

}

答案 3 :(得分:0)

其中一种方法是使用以下
Integer obj = new Integer(primitiveValue) 或者在您的情况下 new Integer(R.drawable.bg1)。 唯一的问题是它会在运行时不必要地创建对象。

如果您使用的是 JDK 5 或更高版本,则可以使用自动装箱功能。
让我们把它放在一边。

在类 Integer (java.lang.Integer) 中,我们确实有许多方法,其中之一是:
static Integer valueOf(int) 它以整数形式返回 int 的值。

所以 Integer.valueOf(R.drawable.bg1) 可以工作。

答案 4 :(得分:-3)

我是整数,int到整数

Integer intObj = new Integer(i);

添加到集合

list.add(String.valueOf(intObj));