R.drawable.bg1
is een int
… maar ik wil converteren in Integer
omdat Hashmap
Neemt een Integer
… en wanneer u de meerdere objecten in seconden tekent, maakt het een integer-objectruntime
die de uitvoering van de code beïnvloedt …
Antwoord 1, Autoriteit 100%
int iInt = 10;
Integer iInteger = Integer.valueOf(iInt);
P.S. Antwoord bewerkt als gevolg van opmerkingen die erop wijzen op een probleem met initiële voorgestelde oplossing.
Antwoord 2, Autoriteit 40%
Zoals vermeld, is een manier om
te gebruiken
int original = 32;
Integer converted = new Integer(original);
Maar U moet de constructeur niet rechtstreeks bellen voor Wrapper Classes . Het is een arme praktijk om dit te doen. Gebruik in plaats daarvan de methoden vooraf gedefinieerd speciaal voor dit doel.
Dus, de nieuwe code eruit ziet (aanbevolen):
mBitmapCache.put(Integer.valueOf(R.drawable.bg1), object);
Antwoord 3, Autoriteit 2%
Ik had een soortgelijk probleem. Hiervoor kunt u een HASHMAP gebruiken die “String” en “Object” gebruikt, zoals weergegeven in de onderstaande code:
/** 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]);
}
}
Antwoord 4
een van de weg is door het volgende te gebruiken
Integer obj = new Integer(primitiveValue)
of in uw geval new Integer(R.drawable.bg1)
.
Het enige probleem hiermee is het onnodig een objecten maken tijdens runtime.
Als u JDK 5 of hoger gebruikt, kunt u vermogen van autoboxing uitoefenen.
Laten we dat een tijdje opzij houden.
In de klas Integer (Java.lang.integer) hebben we veel methoden waarvan één is:
static Integer valueOf(int)
Het retourneert de waarde van een INT als een geheel getal.
Dus een Integer.valueOf(R.drawable.bg1)
zou kunnen werken.
Antwoord 5
I IT-integer, int te integer
Integer intObj = new Integer(i);
Toevoegen aan verzameling
list.add(String.valueOf(intObj));