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

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

Maya Lin-Takahashi

Maya Lin-Takahashi

Consumer Tech & Gadget Reviewer

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.

Share this article
Twitter Facebook Pinterest