private static HashMap<Integer, Bitmap> mBitmapCache;
mBitmapCache.put(R.drawable.bg1,object);
R.drawable.bg1
是int
...但我希望转换为Integer
,因为Hashmap
需要Integer
...并且在绘制倍数时以秒为单位的对象,它创建一个Integer Object运行时
这会影响代码的性能......
答案 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));