జెనరిక్స్ అనేది జావాలోని ఒక లక్షణం, ఇది కంపైల్ సమయంలో టైప్ భద్రతను కొనసాగిస్తూ, ఏ రకమైన వస్తువుతోనైనా పని చేయగల తరగతులు, ఇంటర్ఫేస్లు మరియు పద్ధతులను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. జెనరిక్స్ జావా 5లో ప్రవేశపెట్టబడ్డాయి మరియు ఆధునిక జావా ప్రోగ్రామింగ్లో విస్తృతంగా ఉపయోగించబడుతున్నాయి. జావాలో జెనరిక్స్ గురించి ఇక్కడ కొన్ని కీలక వివరాలు ఉన్నాయి:
రకం పారామీటర్లు: సాధారణ తరగతి, ఇంటర్ఫేస్ లేదా పద్ధతి తక్షణం అందించబడినప్పుడు పేర్కొనబడిన రకాల కోసం టైప్ పారామీటర్లు ప్లేస్హోల్డర్లు. రకం పారామితులు యాంగిల్ బ్రాకెట్లలో (<>) జతచేయబడి ఉంటాయి మరియు ఏదైనా చెల్లుబాటు అయ్యే జావా ఐడెంటిఫైయర్ కావచ్చు.
సాధారణ తరగతులు మరియు ఇంటర్ఫేస్లు: తరగతి లేదా ఇంటర్ఫేస్ హెడర్లోని టైప్ పారామితులను ఉపయోగించి ఒక సాధారణ తరగతి లేదా ఇంటర్ఫేస్ నిర్వచించబడుతుంది. ఉదాహరణకు, జెనరిక్ జాబితా తరగతిని ఇలా నిర్వచించవచ్చు
class List<T> { ... }
, ఇక్కడT
జాబితాలోని మూలకాల రకాన్ని సూచించే రకం పరామితి.సాధారణ పద్ధతులు: ఒక సాధారణ పద్ధతి అనేది దాని పరివేష్టిత తరగతి లేదా ఇంటర్ఫేస్తో పాటు దాని స్వంత రకం పారామితులను కలిగి ఉండే పద్ధతి. ఉదాహరణకు, ఒక సాధారణ పద్ధతిగా నిర్వచించబడవచ్చు
public <T> T get(int index) { ... }
, ఇక్కడT
రిటర్న్ విలువ యొక్క రకాన్ని సూచించే రకం పరామితి.టైప్ హద్దులు: టైప్ హద్దులు టైప్ పరామితి కోసం ఎగువ మరియు/లేదా దిగువ హద్దులను పేర్కొంటాయి. ఉదాహరణకు, ఒక రకం పరామితి నిర్దిష్ట తరగతి లేదా ఇంటర్ఫేస్కు లేదా సాధారణ ఇంటర్ఫేస్ను అమలు చేసే తరగతులు మరియు ఇంటర్ఫేస్ల సమితికి పరిమితం చేయబడవచ్చు.
వైల్డ్కార్డ్లు: వైల్డ్కార్డ్లు అనేది తెలియని రకం లేదా అనేక రకాల రకాలతో పని చేయడానికి మిమ్మల్ని అనుమతించే రకం పరామితి రకం. వైల్డ్కార్డ్లు ప్రశ్న గుర్తు (?)తో సూచించబడతాయి. రెండు రకాల వైల్డ్కార్డ్లు ఉన్నాయి: బౌండెడ్ వైల్డ్కార్డ్లు మరియు అన్బౌండ్డ్ వైల్డ్కార్డ్లు.
టైప్ ఎరేజర్: టైప్ ఎరేజర్ అనేది సాధారణ తరగతులు, ఇంటర్ఫేస్లు మరియు పద్ధతుల కోసం రన్టైమ్లో టైప్ సమాచారాన్ని తొలగించే ప్రక్రియ. నాన్-జెనరిక్ కోడ్తో వెనుకబడిన అనుకూలతను నిర్ధారించడానికి మరియు సాధారణ కోడ్ యొక్క ఓవర్హెడ్ను తగ్గించడానికి ఇది జరుగుతుంది.
రకం భద్రత: జనరిక్స్ కంపైల్-టైమ్లో టైప్ సేఫ్టీని అందిస్తాయి, అంటే టైప్ అసమతుల్యతలకు సంబంధించిన లోపాలు రన్టైమ్లో కాకుండా కంపైల్-టైమ్లో క్యాచ్ చేయబడతాయి. ఇది ClassCastException మరియు NullPointerException వంటి సాధారణ లోపాలను నిరోధించడంలో సహాయపడుతుంది.
మొత్తంమీద, జనరిక్స్ కంపైల్-సమయంలో టైప్ భద్రతను కొనసాగిస్తూ ఏ రకమైన వస్తువుతోనైనా పని చేయగల తరగతులు, ఇంటర్ఫేస్లు మరియు పద్ధతులను రూపొందించడానికి శక్తివంతమైన మార్గాన్ని అందిస్తాయి. ఆధునిక జావా ప్రోగ్రామింగ్లో జెనరిక్స్ విస్తృతంగా ఉపయోగించబడుతున్నాయి మరియు పునర్వినియోగ మరియు నిర్వహించదగిన కోడ్ను రూపొందించడానికి ఇది ఒక ముఖ్యమైన సాధనం.