హాయ్! మీరు ఇప్పటికే ఆదిమ రకాలతో బాగా పరిచయం కలిగి ఉన్నారు మరియు వారితో కొంచెం పని చేసారు. ప్రోగ్రామింగ్లో (మరియు ముఖ్యంగా జావా), ఆదిమలకు చాలా ప్రయోజనాలు ఉన్నాయి: అవి తక్కువ మెమరీని ఉపయోగిస్తాయి (అందువలన ప్రోగ్రామ్ను మరింత సమర్థవంతంగా చేస్తుంది) మరియు స్పష్టంగా వివరించబడిన విలువల పరిధిని కలిగి ఉంటాయి. అయినప్పటికీ, జావా నేర్చుకునేటప్పుడు, మేము ఇప్పటికే "జావాలోని ప్రతిదీ ఒక వస్తువు" అనే మంత్రాన్ని తరచుగా పునరావృతం చేసాము. కానీ ఆదిమానవులు ఆ పదాలకు నేరుగా విరుద్ధంగా ఉన్నారు. అవి వస్తువులు కావు. కాబట్టి, మన "అంతా ఒక వస్తువు" సూత్రం అబద్ధమా? నిజానికి, అది కాదు. జావాలో, ప్రతి ఆదిమ రకానికి ఒక కవల సోదరుడు, ఒక రేపర్ క్లాస్ ఉంటుంది.
రేపర్ క్లాస్ అంటే ఏమిటి?
రేపర్ అనేది ఒక ఆదిమను అంతర్గతంగా నిల్వ చేసే ఒక ప్రత్యేక తరగతి. కానీ ఇది తరగతి అయినందున, మీరు దాని ఉదాహరణలను సృష్టించవచ్చు. అవి ఆదిమ విలువలను అంతర్గతంగా నిల్వ చేస్తాయి, కానీ ఇప్పటికీ నిజమైన వస్తువులు. రేపర్ క్లాస్ పేర్లు వాటి సంబంధిత ఆదిమ పేర్లతో చాలా పోలి ఉంటాయి (లేదా సరిగ్గా అదే విధంగా ఉంటాయి). కాబట్టి, వారు గుర్తుంచుకోవడం సులభం.
ప్రిమిటివ్ డేటా రకాల కోసం రేపర్ తరగతులు |
ఆదిమ డేటా రకాలు |
రేపర్ తరగతులు |
int |
పూర్ణ సంఖ్య |
చిన్నది |
పొట్టి |
పొడవు |
పొడవు |
బైట్ |
బైట్ |
తేలుతుంది |
ఫ్లోట్ |
రెట్టింపు |
రెట్టింపు |
చార్ |
పాత్ర |
బూలియన్ |
బూలియన్ |
రేపర్ వస్తువులు ఏ ఇతర వస్తువు వలె సృష్టించబడతాయి:
public static void main(String[] args) {
Integer i = new Integer(682);
Double d = new Double(2.33);
Boolean b = new Boolean(false);
}
రేపర్ తరగతులు ఆదిమ రకాల్లోని లోపాలను తగ్గించడానికి వీలు కల్పిస్తాయి. అత్యంత స్పష్టమైన విషయం ఏమిటంటే ఆదిమలకు పద్ధతులు లేవు.
ఉదాహరణకు, వారికి toString() పద్ధతి లేదు , కాబట్టి మీరు ఒక
Int ని
స్ట్రింగ్గా మార్చలేరు . కానీ
పూర్ణాంక రేపర్ క్లాస్ దీన్ని సులభతరం చేస్తుంది.
public static void main(String[] args) {
Integer i = new Integer(432);
String s = i.toString();
}
అయితే, ఇతర దిశలో మార్చడం గమ్మత్తైనది.
మనకు ఒక స్ట్రింగ్ ఉందని అనుకుందాం , అందులో ఒక సంఖ్య ఉందని ఖచ్చితంగా తెలుసు.
సంబంధం లేకుండా, స్ట్రింగ్ నుండి సంఖ్యను సంగ్రహించడానికి మరియు దానిని సంఖ్యగా మార్చడానికి ఆదిమ
పూర్ణాంకాన్ని ఉపయోగించడానికి స్థానిక మార్గం లేదు . కానీ, మేము రేపర్ తరగతులతో చేయవచ్చు.
public static void main(String[] args) {
String s = "1166628";
Integer i = Integer.parseInt(s);
System.out.println(i);
}
అవుట్పుట్:
1166628
మేము స్ట్రింగ్ నుండి ఒక సంఖ్యను విజయవంతంగా సంగ్రహించాము మరియు దానిని
పూర్ణాంక సూచన వేరియబుల్
i కి కేటాయించాము . మార్గం ద్వారా, సూచనలకు సంబంధించి. ఆర్గ్యుమెంట్లు వివిధ మార్గాల్లో పద్ధతులకు పంపబడతాయని మీకు ఇప్పటికే తెలుసు: విలువ ద్వారా ఆదిమాంశాలు మరియు సూచన ద్వారా వస్తువులు.
మీరు మీ స్వంత పద్ధతులను రూపొందించేటప్పుడు ఈ పరిజ్ఞానాన్ని ఉపయోగించవచ్చు: ఉదాహరణకు, మీ పద్ధతి పాక్షిక సంఖ్యలను ఉపయోగిస్తుంటే, సూచన ద్వారా పాస్ చేయడానికి మీకు లాజిక్ అవసరమైతే, మీరు డబుల్ /
ఫ్లోట్ బదులుగా పద్ధతికి
డబుల్ /
ఫ్లోట్ ఆర్గ్యుమెంట్లను పాస్ చేయవచ్చు . రేపర్ తరగతుల పద్ధతులతో పాటు, వాటి స్టాటిక్ ఫీల్డ్లు కూడా చాలా సౌకర్యవంతంగా ఉంటాయి. ఉదాహరణకు, మీరు ఈ క్రింది పనిని కలిగి ఉన్నారని ఊహించుకోండి: సాధ్యమైనంత గరిష్టంగా ప్రదర్శించండి
పూర్ణాంక విలువ, తర్వాత కనీస సాధ్యం విలువ. ఈ సమస్య ప్రాథమికంగా కనిపిస్తుంది. కానీ Google లేకుండా, మీరు దీన్ని చేసే అవకాశం లేదు. కానీ రేపర్లు అటువంటి "ప్రాపంచిక పనులను" సులభంగా నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తాయి:
public class Main {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
ఈ ఫీల్డ్లు మిమ్మల్ని మరింత గంభీరమైన పనులను పూర్తి చేయకుండా దృష్టి మరల్చకుండా చేస్తాయి.
2147483647 (ఇది MAX_VALUE విలువ) టైప్ చేయడం చిన్న ఫీట్ కాదని చెప్పనక్కర్లేదు ! :) అంతేకాకుండా, మునుపటి పాఠంలో, రేపర్ వస్తువులు మార్పులేనివని మేము ఎత్తి చూపాము.
public static void main(String[] args) {
Integer a = new Integer(0);
Integer b = new Integer(0);
b = a;
a = 1;
System.out.println(b);
}
అవుట్పుట్:
0
నిజానికి a ద్వారా సూచించబడిన వస్తువు యొక్క స్థితి మారలేదు (ఎందుకంటే
b విలువ కూడా మారేది).
స్ట్రింగ్ లు వలె , రేపర్ ఆబ్జెక్ట్ యొక్క స్థితిని మార్చడానికి బదులుగా, మెమరీలో పూర్తిగా కొత్త వస్తువు సృష్టించబడుతుంది. కాబట్టి, జావా సృష్టికర్తలు భాషలో ఆదిమ రకాలను ఎందుకు వదిలేయాలని నిర్ణయించుకున్నారు? ప్రతిదీ ఒక వస్తువుగా ఉండాలి మరియు ఆదిమలు వ్యక్తీకరించే ప్రతిదాన్ని వ్యక్తీకరించగల రేపర్ తరగతులను మేము పొందాము కాబట్టి, భాషలో రేపర్లను ఉంచడం మరియు ఆదిమాలను తొలగించడం మాత్రమే ఎందుకు? సమాధానం సులభం: పనితీరు. ఆదిమ రకాలను ఆదిమ అని పిలుస్తారు ఎందుకంటే వాటిలో చాలా "హెవీ వెయిట్" వస్తువుల లక్షణాలు లేవు. అవును, వస్తువులు చాలా అనుకూలమైన పద్ధతులను కలిగి ఉంటాయి, కానీ మీకు అవి ఎల్లప్పుడూ అవసరం లేదు. కొన్నిసార్లు, మీకు కావలసిందల్లా సంఖ్య 33, లేదా 2.62, లేదా
నిజమైన /
తప్పు . ఆబ్జెక్ట్ల ప్రయోజనాలు పట్టింపు లేని మరియు ప్రోగ్రామ్ పనిచేయడానికి అవసరం లేని సందర్భాల్లో, ఆదిమాంశాలు పనికి బాగా సరిపోతాయి.
GO TO FULL VERSION