How to convert int to Integer

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

R.drawable.bg1 is an int ... but i want to convert into Integer because Hashmap takes an Integer... and when draw the multiple objects in seconds , it creates a Integer Object runtime which affects the performence of the code...

5 Answers

int iInt = 10;
Integer iInteger = Integer.valueOf(iInt);

P.S. Answer edited due to comments pointing out an issue with initial suggested solution.

10

As mentioned, one way is to use

int original = 32;
Integer converted = new Integer(original);

But you should not call the constructor for wrapper classes directly. It is a poor practice to do so. Instead, use the methods pre-defined especially for this purpose.

So, the new code would look like this (recommended):

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

I had a similar problem . For this you can use a Hashmap which takes "string" and "object" as shown in code below:

/** 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]); }

}

0

One of the way is by using following
Integer obj = new Integer(primitiveValue)or in your case new Integer(R.drawable.bg1). The only problem with this is it would unnecessarily create an objects during runtime.

If you are using JDK 5 or above you can exercise power of Autoboxing.
Lets keep that aside for a while.

Within class Integer (java.lang.Integer) we do have many methods one of which is:
static Integer valueOf(int) it returns value of an int as a Integer.

So a Integer.valueOf(R.drawable.bg1) could work.

i it integer, int to Integer

Integer intObj = new Integer(i);

add to collection

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like