.
- 1 1. Utangulizi
- 2 2. Darasa la Integer ni Nini?
- 3 3. Sehemu Kuu na Mabadiliko ya Darasa la Integer
- 4 4. Mbinu Muhimu za Darasa la Integer
- 5 5. Kuchagua Kati ya int na Integer
- 6 6. Makosa ya Kawaida na Jinsi ya Kuyashughulikia
- 7 7. Practical Examples: How the Integer Class Is Used
- 8 8. Hitimisho
- 9 Masuala Yanayoulizwa Mara Kwa Mara (FAQ)
- 9.1 Q1. Tofauti kati ya int na Integer ni nini?
- 9.2 Q2. Tofauti gani kati ya parseInt() na valueOf()?
- 9.3 Q3. Kwa nini usipaswi kutumia == kulinganisha vitu vya Integer?
- 9.4 Q4. Nini kinatokea ikiwa utaweka null kwa Integer?
- 9.5 Q5. Ninawezaje kupata thamani kubwa na ndogo za Integer?
- 9.6 Q6. Kwa nini huwezi kutumia int katika mikusanyiko?
- 9.7 Q7. Ni ipi bora kwa utendaji, int au Integer?
1. Utangulizi
Misingi ya Aina za Integer katika Java
Unapofanya kazi na nambari katika Java, moja ya aina za data za msingi zaidi ni “aina ya integer” (int). Ni aina ya primitive ambayo hutumika mara nyingi kwa mahesabu ya nambari ndani ya programu, ikiruhusu usindikaji wa haraka na wenye ufanisi wa kumbukumbu.
Kwa upande mwingine, Java pia inatoa darasa linaloitwa Integer. Hili linajulikana kama darasa la wrapper, linalobuniwa kuruhusu thamani za int kushughulikiwa kama vitu, kulingana na falsafa ya Java ya uhusiano wa vitu.
Ingawa aina hizi mbili zinaonekana sawa, kuna tofauti wazi katika madhumuni na tabia zake. Kwa sababu hiyo, wanaoanza kujifunza Java mara nyingi huuliza, “Tofauti nini kati ya int na Integer?” au “Nipasieje kila moja ipasavyo?”
Kwa Nini Unapaswa Kujifunza Kuhusu Darasa la Integer?
Kuna hali nyingi katika Java—kama vile unapofanya kazi na mifumo ya makusanyo (kama List au Map), kushughulikia thamani za null, au kutumia generics—ambapo aina ya primitive int haiwezekani. Katika hali hizo, darasa la Integer linakuwa muhimu, hivyo kuelewa misingi yake ni jambo la muhimu.
Darasa la Integer pia linatoa mbinu nyingi muhimu kwa kazi kama kubadilisha kati maandishi na nambari, kulinganisha, na operesheni za bitwise. Kumudu kutumia mbinu hizi kunakuwezesha kuandika msimbo thabiti zaidi na unaoeleweka.
Makala haya yanazingatia darasa la Integer, yakielezea tofauti zake na int, jinsi ya kulitumia, na matukio ya matumizi ya vitendo. Iwe wewe ni mgeni wa Java au una uzoefu kidogo, utapata taarifa muhimu hapa—basi endelea kusoma!
2. Darasa la Integer ni Nini?
Jukumu kama Darasa la Wrapper
Darasa la Java Integer ni darasa la wrapper linaloruhusu aina ya primitive int kutendeka kama kitu. Kama jina linavyodai, wrapper “inavunika” kitu—hapa, inafunga thamani ghafi ya int ndani ya “sanduku” la Integer ili liweze kutumika kama kitu.
Kwa mfano, makusanyo ya Java (kama List na Map) yanaweza kushughulikia vitu pekee. Kwa kuwa aina za primitive kama int haziwezi kutumika moja kwa moja, Integer inahitajika badala yake.
List<Integer> numbers = new ArrayList<>();
numbers.add(10); // The int value 10 is automatically converted to Integer and stored
Kwa kubadilisha (boxing) thamani za int kuwa fomu ya kitu, unaweza kufanya kazi bila usumbufu na API nyingi za Java na mifumo.
Autoboxing na Unboxing
Tangu Java 5, vipengele vya urahisi vinavyoitwa “autoboxing” na “unboxing” vimeanzishwa.
- Autoboxing : Thamani ya
inthubadilishwa kiotomatiki kuwa kitu chaInteger - Unboxing : Kitu cha
Integerhubadilishwa kiotomatiki kuwa thamani yaintInteger num = 100; // Autoboxing int result = num + 50; // Unboxing occurs for the calculation
Hii inamaanisha wasanidi hawahitaji kuandika msimbo wa ubadilishaji wa wazi—Java hushughulikia ubadilishaji huo kiotomatiki, na kufanya msimbo wako kuwa rahisi zaidi na unaoeleweka.
Hata hivyo, ikiwa utajaribu kufanya unboxing ya thamani ya null, NullPointerException itatokea, kwa hivyo kuwa mwangalifu.
Integer value = null;
int x = value; // This throws an exception
Umuhimu wa Integer
Darasa la Integer si tu mbadala wa int. Kama kitu, lina sifa fulani:
- Unaweza kipa
null, ambayo inakuwezesha kuwakilisha hali “haijapangwa” - Linakuja na mbinu zinazowezesha operesheni zenye kubadilika
- Linaweza kutumika katika makusanyo na miundo mingine inayotegemea vitu
Kwa kifupi, kuna hali nyingi katika muktadha wa Java wa uhusiano wa vitu ambapo Integer inafaa zaidi kuliko int.
3. Sehemu Kuu na Mabadiliko ya Darasa la Integer
Darasa la Java Integer linafafanua mabadiliko muhimu na sehemu za kupata taarifa zinazohusiana na nambari. Kutumia haya kunaweza kuboresha usomaji na matengenezo ya msimbo wako.
Hebu tuangalie baadhi ya sehemu zinazotumika zaidi.
MAX_VALUE na MIN_VALUE
Integer.MAX_VALUE na Integer.MIN_VALUE ni mabadiliko yanayoashiria thamani ya juu na thamani ya chini ambayo aina ya int inaweza kushikilia.
MAX_VALUE: 2,147,483,647 (2 kwa nguvu ya 31 minus 1)MIN_VALUE: -2,147,483,648 (hasi ya 2 kwa nguvu ya 31)
Hizi mara nyingi hutumika kwa kuangalia safu au kuzuia kufurika, na hivyo kuwa muhimu kwa usindikaji salama wa nambari.
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
System.out.println("Max value: " + max); // 2147483647
System.out.println("Min value: " + min); // -2147483648
SIZE na BYTES
SIZE na BYTES ni mara nyingi zinazoonyesha idadi ya biti na baiti zinazotumiwa na aina ya int.
Integer.SIZE: 32 (idadi ya biti)Integer.BYTES: 4 (idadi ya baiti)
Hizi mara nyingi hutumika wakati wa kushughulikia data ya binary au katika hali za programu za mfumo, kama vile kuhesabu ukubwa wa data au kwa madhumuni ya siri.
System.out.println("Number of bits in int: " + Integer.SIZE); // 32
System.out.println("Number of bytes in int: " + Integer.BYTES); // 4
TYPE Field
Integer.TYPE ni uwanja wa static unaorudisha kifaa cha Darasa kwa aina ya int. Hii wakati mwingine hutumiwa kwa mbinu za programu za hali ya juu kama vile kurejelea au generics.
Class<?> clazz = Integer.TYPE;
System.out.println(clazz.getName()); // int
Ingawa haijatumiki mara nyingi katika maendeleo ya kila siku, ni vizuri kujua kuhusu yake ikiwa una nia katika ndani za Java au maendeleo ya mfumo wa kazi.
Zote hizi mara nyingi zimeelezwa kama static final, maana unaweza kufikia moja kwa moja kutoka darasa la Integer bila kuunda mfano. Kujua hizi mara nyingi zinazohusiana na aina ni hatua nzuri ya kwanza kuelekea kuzuia makosa na kuboresha utendaji katika Java.
4. Mbinu Muhimu za Darasa la Integer
Darasa la Integer ni zaidi ya kufunga int. Linatoa mbinu nyingi za vitendo kwa ubadilishaji wa kamba, kulinganisha nambari, shughuli za bitwise, na zaidi—na hivyo kuwa muhimu sana kwa maendeleo ya Java ya kila siku. Hapa, tutaanzisha mbinu zinazotumiwa mara nyingi kwa kategoria.
Mbinu za Ubadilishaji
parseInt()
parseInt() ni mbinu ya static ambayo inabadilisha kamba kuwa thamani ya int. Hutumiwa hasa wakati wa kushughulikia pembejeo la mtumiaji au data kutoka faili za nje ambazo unahitaji kuziprosesa kama nambari.
String str = "123";
int number = Integer.parseInt(str); // 123
* Ikiwa kamba isiyo ya nambari itapitishwa, NumberFormatException itatupwa, kwa hivyo ni salama zaidi kutumia try-catch.
valueOf()
valueOf() ni mbinu ambayo inabadilisha kamba au thamani ya int kuwa kitu cha Integer. Tofauti na parseInt(), aina ya kurudisha ni Integer, si int.
Integer num1 = Integer.valueOf("456");
Integer num2 = Integer.valueOf(789);
Integer.valueOf() inarudia vitu vilivyohifadhiwa kwa thamani kati ya -128 na 127, na hivyo kuwa na ufanisi zaidi kuliko kuunda mifano mipya na new.
Mbinu za Onyesho na Ubadilishaji
toString()
toString() ni mbinu ambayo inarudisha thamani ya nambari kama kamba. Hutumiwa kwa kawaida kwa kuunganisha kamba au kuonyesha thamani.
int number = 100;
String str = Integer.toString(number); // "100"
Unaweza pia kuitumia kubadilisha kuwa misinga mingine, kama binary au hexadecimal.
System.out.println(Integer.toBinaryString(10)); // "1010"
System.out.println(Integer.toHexString(255)); // "ff"
Mbinu za Kulinganisha
compareTo()
compareTo() ni mbinu ambayo inalinganisha vitu viwili vya Integer na kurudisha integer inayoonyesha mpangilio wao wa karibu.
Integer a = 10;
Integer b = 20;
int result = a.compareTo(b); // -1 (returns a negative value if a < b)
Mara nyingi hutumiwa pamoja na mbinu kama Collections.sort.
equals()
equals() ni mbinu ambayo inachunguza ikiwa thamani mbili ni sawa. Opereta ya == inalinganisha marejeleo, kwa hivyo equals() inapendekezwa kwa kulinganisha thamani za kitu.
Integer x = 100;
Integer y = 100;
System.out.println(x.equals(y)); // true
Mbinu za Shughuli za Bitwise
Kipekee kati ya madarasa ya Java, darasa la Integer linatoa usaidizi mkubwa kwa operesheni za bitwise za ngazi ya chini.
bitCount()
Njia hii inarejesha idadi ya biti vilivyowekwa kuwa 1 katika thamani ya int iliyotolewa.
int count = Integer.bitCount(15); // 15 in binary is 1111 → 4 bits set to 1
highestOneBit()
Njia hii inarejesha thamani yenye biti moja pekee ya kiwango cha juu kilichowekwa kutoka kwa thamani ya int iliyotolewa.
int highest = Integer.highestOneBit(10); // 10 (1010) → 8 (1000)
Inafaa sana kwa uboreshaji unaohusisha operesheni za bitwise.
Njia Nyingine za Kufaa
Integer.reverse(int): Inabadilisha mpangilio wa bitiInteger.signum(int): Inarejesha ishara (chanya: 1, hasi: -1, sifuri: 0)Integer.hashCode(): Inarejesha msimbo wa hash (ni muhimu wakati wa kutumia makusanyo)
Nambari zinashughulikiwa kila mahali katika Java. Kujua tu njia hizi kutakusaidia kuandika msimbo mzuri na wenye ufanisi. Kwa hasa, mbadilishaji, kulinganisha, na njia za bitwise hutumika sana katika mazoezi, hivyo hakikisha kuzimudu.
5. Kuchagua Kati ya int na Integer
Katika Java, kuna aina mbili za kuwakilisha nambari kamili: int na Integer. Ingawa unaweza kubadilisha kati yao, kutumia vibaya kunaweza kusababisha matatizo ya utendaji au makosa yasiyotabirika. Hebu tazama sifa zao na jinsi ya kuchagua sahihi kwa kila hali.
Tofauti Kuhusu Utendaji
int ni aina ya msingi, ina ukubwa wa kumbukumbu uliowekwa (baiti 4), na ni haraka sana kwa mahesabu. Integer, kwa upande mwingine, ni aina ya kipengele, huhifadhiwa kama mfano kwenye heap, na hutoa njia na vipengele vya ziada.
int a = 10;
Integer b = 10;
Ingawa unapeana thamani sawa, usindikaji wa ndani hutofautiana. Kwa mahesabu ya kina au mizunguko, kutumia int ni haraka sana na hutoa ufanisi zaidi wa kumbukumbu.
Mfano: Tofauti ya Utendaji katika Mizunguko
long startTime = System.nanoTime();
int sum = 0;
for (int i = 0; i < 1000000; i++) {
sum += i;
}
long endTime = System.nanoTime();
System.out.println("Time for int: " + (endTime - startTime) + " ns");
Kufanya vivyo hivyo kwa Integer husababisha mzigo wa boxing na unboxing, ambao unaweza kuifanya polepole mara kadhaa.
Tofauti za Uwezekano wa Null na Ushughulikiaji wa Makosa
int haiwezi kupatiwa null. Hivyo si sahihi wakati unahitaji kuwakilisha “hakuna thamani” au “haijapangwa.”
Integer value = null;
if (value == null) {
System.out.println("Value is unset");
}
Kwa Integer, unaweza kushughulikia null waziwazi, na kufanya iwe bora kwa hali kama uthibitishaji wa fomu au upatikanaji wa hifadhidata ambapo thamani inaweza kukosekana.
Hata hivyo, unboxing ya null Integer kwenda int hutoa NullPointerException, hivyo tahadhari inahitajika.
Ulinganifu na Makusanyo
Makusanyo ya Java (kama List na Map) huweza kuhifadhi vitu tu. Ndiyo maana huwezi kutumia int moja kwa moja; unahitaji Integer badala yake.
List<Integer> numbers = new ArrayList<>();
numbers.add(100); // int → Integer via autoboxing
Pia, unapofanya kazi na generics, huwezi kutaja aina ya msingi kama hoja ya aina, hivyo lazima utumie Integer.
Muhtasari: Miongozo ya Kuchagua
| Use Case | Recommended Type | Reason |
|---|---|---|
| Mainly numeric calculations | int | Faster processing and better memory efficiency |
| Need to represent presence or absence of a value | Integer | Can handle null |
| Working with collections or generics | Integer | Object type required |
| Using numbers as Map keys | Integer | int can’t be used |
Msingi, kumbuka: “Tumia int kwa kasi, Integer kwa ubunifu.”
6. Makosa ya Kawaida na Jinsi ya Kuyashughulikia
NullPointerException
Sababu:
Kwa sababu Integer ni aina ya kipengele, inaweza kupatiwa null, lakini ukijaribu kufanya unboxing ya null Integer kwenda int, NullPointerException hutokea.
Integer value = null;
int x = value; // Exception thrown here
Suluhisho:
Daima angalia null kabla ya kufanya unboxing.
if (value != null) {
int x = value;
} else {
int x = 0; // Assign a default value
}
Vinginevyo, unaweza kushughulikia hili kwa usalama ukitumia Optional (Java 8+):
int x = Optional.ofNullable(value).orElse(0);
NumberFormatException
Sababu:
.This exception is thrown when Integer.parseInt() or Integer.valueOf() is used to convert a non-numeric string.
String input = "abc";
int num = Integer.parseInt(input); // NumberFormatException
Solution:
Check in advance whether the input is a number, typically using a regular expression.
if (input.matches("-?\\d+")) {
int num = Integer.parseInt(input);
} else {
System.out.println("Not a numeric value");
}
Also, use try-catch to handle exceptions and ensure safe processing.
try {
int num = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("Invalid number format: " + input);
}

Misuse of == and equals()
Cause:
When comparing two Integer objects with ==, you’re comparing their references, not their values. So even if the values are the same, false can be returned if they are different objects.
Integer a = new Integer(128);
Integer b = new Integer(128);
System.out.println(a == b); // false (different references)
System.out.println(a.equals(b)); // true (same value)
- For values between -128 and 127, objects are cached, so
==may return true. However, this is implementation-dependent.
Solution:
Always use .equals() to compare two Integer objects.
if (a.equals(b)) {
System.out.println("Values are equal");
}
You can also compare their primitive int values after unboxing.
if (a.intValue() == b.intValue()) {
System.out.println("Equal as int values");
}
Overlooking Overflow
Cause:
int and Integer can only handle 32-bit values (±2,147,483,647). If you exceed this range, they will not work correctly.
int a = Integer.MAX_VALUE;
int b = a + 1;
System.out.println(b); // -2,147,483,648 (wraps around to negative)
Solution:
Consider using long or BigInteger if necessary, and always be mindful of the limits.
Summary
While Integer is convenient and flexible, it comes with many caveats regarding nulls, references, and type conversions. For Java beginners in particular, it’s important to understand why certain exceptions happen.
If you know these common pitfalls in advance, you can avoid bugs and write more stable code.
7. Practical Examples: How the Integer Class Is Used
By now, you should have a solid understanding of the features, differences, and important points regarding the Integer class. Next, let’s look at some real-world use cases where Integer is commonly applied.
Converting User Input to Numbers
In web and desktop applications, user input is usually received as a String. However, when dealing with fields such as age or quantity, you often need to process them as numbers, and Integer is helpful for this conversion.
String input = "25"; // User input as a string
try {
Integer age = Integer.valueOf(input); // Convert String → Integer
System.out.println("Age: " + age);
} catch (NumberFormatException e) {
System.out.println("Invalid input");
}
By validating that the input is a proper number and handling errors, you can achieve robust user input processing.
Managing Configuration Values and Environment Variables
It’s common to read system or configuration values as strings and then convert them to integers. For example, when using System.getProperty(), you’ll often need to parse the result.
String maxConn = System.getProperty("app.maxConnections", "100");
int max = Integer.parseInt(maxConn);
System.out.println("Max connections: " + max);
In such cases, it’s important to provide sensible default values and allow for flexible configuration changes.
Working with Numbers in Collections
Unapotaka kushughulikia nambari ndani ya mkusanyiko (kama Orodha), unahitaji kutumia Integer badala ya int. Kwa mfano, unaweza kuhifadhi orodha ya ID zilizowekwa na mtumiaji kwa muda.
List<Integer> ids = new ArrayList<>();
ids.add(101);
ids.add(205);
ids.add(309);
for (Integer id : ids) {
System.out.println("Processing ID: " + id);
}
Asante kwa autoboxing, ubadilishaji kutoka int hadi Integer hutokea kiotomatiki, hivyo unaweza kuandika code fupi bila kuwa na wasiwasi kuhusu ubadilishaji wa mikono.
Udhibiti wa Bendera Ukitumia Shughuli za Kidijitali
Darasa la Integer lina njia nyingi za udhibiti wa kidijitali, ambazo ni muhimu kwa udhibiti wa bendera wa kiwango cha chini na mabadiliko ya hali.
int flags = 0;
// Set the 1st bit
flags |= 0b0001;
// Set the 2nd bit
flags |= 0b0010;
// Check if the 2nd bit is set
boolean isSet = (flags & 0b0010) != 0;
System.out.println("The 2nd bit is: " + (isSet ? "ON" : "OFF"));
Na unaweza kutumia Integer.toBinaryString(flags) ili kuonyesha hali ya bendera:
System.out.println("Current flag state: " + Integer.toBinaryString(flags));
Kufanya Kazi na Hifadhidata
Unapotumia JDBC au mbinu sawa ili kuingiliana na hifadhidata, kutumia Integer (sio int) kwa safu za nambari kunaruhusu kushughulikia salama thamani za null.
ResultSet rs = stmt.executeQuery("SELECT age FROM users WHERE id = 1");
if (rs.next()) {
Integer age = (Integer) rs.getObject("age");
System.out.println(age != null ? "Age: " + age : "Age not set");
}
Kwa kuwa int ya msingi haiwezi kuwa null, Integer ndiyo chaguo sahihi hapa.
Muhtasari
Darasa la Integer sio tu kioopuu cha int—lina jukumu muhimu katika ushughulikiaji wa data rahisi na kuhakikisha usalama katika maendeleo ya ulimwengu halisi. Ni muhimu hasa katika visa vifuatavyo:
- Kubadilisha ingizo la mtumiaji au mipangilio ya nje kuwa nambari
- Kushughulikia data ambayo inaweza kuwa
null - Kuhifadhi nambari katika mikusanyiko
- Kudhibiti hali kwa shughuli za kidijitali
Kwa kujua Integer, unaweza kuandika code ambayo ni inayoweza kupanuliwa zaidi, inayoweza kudumishwa, na thabiti.
8. Hitimisho
Darasa la Integer la Java sio tu mbadala wa int—ni darasa muhimu ambalo linahusiana sana na asili ya Java ya kuegemea vitu. Katika makala hii, tulieleza pointi zifuatazo kwa njia rahisi kwa wanaoanza kuelewa, huku tukishughulikia vipengele vya vitendo pia:
Faida za darasa la Integer ni nini?
- Kwa sababu linaweza kutendewa kama kivitu, unaweza kufanya kazi na thamani za
nullna kutumia na mikusanyiko - Linakuja na njia nyingi rahisi (ubadilishaji wa mifuatano, kulinganisha, shughuli za kidijitali, na zaidi)
- Inafanya kazi vizuri na
System.getProperty()na shughuli za hifadhidata, inayowezesha muundo rahisi - Kuhifadhi vitu na autoboxing hufanya code iwe rahisi na fupi zaidi
Hizi ni faida ambazo huwezi kupata na aina ya msingi int.
Lakini kuna pia maonyo muhimu
- Kubadilisha
IntegeryanullitasababishaNullPointerException - Kutumia opereta ya
==inaweza isilinganishe thamani kama unavyotarajia intni bora zaidi kwa uchanganuzi mkubwa wa nambari katika suala la utendaji
Kushindwa kuelewa pointi hizi kunaweza kusababisha hitilafu zisizotarajiwa au matatizo ya utendaji.
Kuchagua aina sahihi ni ufunguo
| Use Case | Recommended Type | Reason |
|---|---|---|
| When fast numeric processing is required | int | Superior memory efficiency and calculation speed |
When data may be null | Integer | Supports nullability and can be handled safely |
| When used with collections or generics | Integer | Because an object type is required |
| When using numbers as Map keys | Integer | int cannot be used |
Kwa muhtasari, int na Integer sio aina tofauti tu, bali zinapaswa kuchaguliwa kwa usahihi kulingana na malengo yako ya muundo na kesi ya matumizi.
Mawazo ya mwisho
Kuelewa Integer ni msingi sio tu kwa kushughulikia aina za data katika Java, bali pia kwa kukuza ustadi wa kina wa programu katika muundo unaoegelea vitu, kushughulikia ubaguzi, na uboreshaji wa utendaji.
Kwa sababu aina za nambari nyingi hutumiwa sana, kupata uelewa kamili mapema itakuwa mali kubwa katika safari yako ya maendeleo ya Java ya baadaye.
Masuala Yanayoulizwa Mara Kwa Mara (FAQ)
Q1. Tofauti kati ya int na Integer ni nini?
A. int ni aina ya msingi ya Java inayotumiwa kwa utendaji bora na wa haraka wa thamani za nambari kamili. Integer ni darasa la kufunga ambalo linakuruhusu kutibu int kama kitu, na hivyo kukuwezesha kufanya kazi na thamani za null na kutumia mbinu mbalimbali. Kwa mfano, wakati wa kuhifadhi thamani katika mkusanyiko au kutofautisha kati ya thamani zilizowekwa na zisizowekwa, Integer inafaa zaidi.
Q2. Tofauti gani kati ya parseInt() na valueOf()?
A. Zote mbili hubadilisha mnyororo kuwa nambari, lakini aina zinazorudishwa ni tofauti:
parseInt(String s)→ inarudishaint(aina ya msingi)valueOf(String s)→ inarudishaInteger(aina ya kitu)
Chagua kulingana na mahitaji yako. valueOf() ni muhimu zaidi ikiwa unahitaji kitu au kushughulikia thamani za null.
Q3. Kwa nini usipaswi kutumia == kulinganisha vitu vya Integer?
A. Kifunguo == kinalinganisha marejeleo ya kitu, si thamani zenyewe. Hata kama thamani ni sawa, unaweza kupata false ikiwa ni mifumo tofauti. Kwa thamani za 128 au zaidi, hifadhi ya kitu haifanyi kazi, hivyo matokeo yasiyotarajiwa yanaweza kutokea. Tumia daima .equals() kwa kulinganisha thamani.
Integer a = 128;
Integer b = 128;
System.out.println(a == b); // false (different references)
System.out.println(a.equals(b)); // true (same value)
Q4. Nini kinatokea ikiwa utaweka null kwa Integer?
A. Kwa kuwa Integer ni kitu, unaweza kuweka null. Hata hivyo, ikiwa utabadilisha (kutoa sanduku) kuwa int wakati ni null, NullPointerException itatokea.
Integer val = null;
int num = val; // Exception thrown here
Hakikisha kuangalia null au tumia Optional kwa msimbo salama zaidi.
Q5. Ninawezaje kupata thamani kubwa na ndogo za Integer?
A. Katika Java, unaweza kutumia Integer.MAX_VALUE na Integer.MIN_VALUE kupata urahisi mipaka hii.
System.out.println(Integer.MAX_VALUE); // 2147483647
System.out.println(Integer.MIN_VALUE); // -2147483648
Hizi ni muhimu kwa angaliao la kipindi na ulinzi wa kufurika.
Q6. Kwa nini huwezi kutumia int katika mikusanyiko?
A. Mikusanyiko ya Java (kama Orodha na Ramani) inashughulikia vitu pekee, si aina za msingi. Ndiyo sababu unahitaji kutumia Integer badala yake.
List<Integer> list = new ArrayList<>();
list.add(123); // int is automatically converted to Integer
Q7. Ni ipi bora kwa utendaji, int au Integer?
A. Kwa mahesabu ya kasi ya juu au kushughulikia idadi kubwa ya nambari katika peto, int ni haraka zaidi na yenye ufanisi wa kumbukumbu. Integer ni rahisi na inayoweza kubadilika, lakini vitu vya ziada na sanduku vinaweza kuifanya isifae kwa kazi nzito.


