జావాలో స్ట్రింగ్ మరియు స్ట్రింగ్బఫర్ క్లాస్ మధ్య తేడా
విషయము
స్ట్రింగ్ మరియు స్ట్రింగ్బఫర్ రెండూ తీగలపై పనిచేసే తరగతులు. స్ట్రింగ్బఫర్ క్లాస్ అనేది క్లాస్ స్ట్రింగ్ యొక్క పీర్ క్లాస్. స్ట్రింగ్ క్లాస్ యొక్క వస్తువు స్థిర పొడవు. స్ట్రింగ్బఫర్ తరగతి యొక్క వస్తువు పెరుగుతుంది. స్ట్రింగ్ మరియు స్ట్రింగ్బఫర్ మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే “స్ట్రింగ్” క్లాస్ యొక్క వస్తువు శాశ్వతమని. తరగతి యొక్క వస్తువు “స్ట్రింగ్బఫర్” మ్యూట్ చేయగల.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | స్ట్రింగ్ | StringBuffer |
---|---|---|
ప్రాథమిక | స్ట్రింగ్ ఆబ్జెక్ట్ యొక్క పొడవు పరిష్కరించబడింది. | స్ట్రింగ్బఫర్ యొక్క పొడవును పెంచవచ్చు. |
సవరణ | స్ట్రింగ్ వస్తువు మార్పులేనిది. | స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ మార్చదగినది. |
ప్రదర్శన | సంయోగం సమయంలో ఇది నెమ్మదిగా ఉంటుంది. | సంయోగం సమయంలో ఇది వేగంగా ఉంటుంది. |
మెమరీ | ఎక్కువ మెమరీని వినియోగిస్తుంది. | తక్కువ మెమరీని వినియోగిస్తుంది. |
నిల్వ | స్ట్రింగ్ స్థిరమైన పూల్. | హీప్ మెమరీ. |
స్ట్రింగ్ యొక్క నిర్వచనం
“స్ట్రింగ్” అనేది జావాలో ఒక తరగతి. తరగతి స్ట్రింగ్ యొక్క వస్తువు స్థిర పొడవు, మరియు గుర్తుంచుకోవలసిన ముఖ్యమైనది, స్ట్రింగ్ క్లాస్ యొక్క వస్తువు “మార్పులేనిది”. మీరు స్ట్రింగ్ ఆబ్జెక్ట్ను ప్రారంభించిన తర్వాత, మీరు ఆ వస్తువును మళ్లీ సవరించలేరు. తరగతి స్ట్రింగ్ యొక్క వస్తువు స్ట్రింగ్ స్థిరమైన పూల్లో నిల్వ చేయబడుతుంది.
మీరు ఏదైనా స్ట్రింగ్ సృష్టించినప్పుడల్లా దాన్ని మొదట అర్థం చేసుకుందాం; మీరు టైప్ స్ట్రింగ్ యొక్క వస్తువును సృష్టించండి. స్ట్రింగ్ స్థిరాంకాలు కూడా స్ట్రింగ్ వస్తువులు.
System.out.ln ("హలో ఇది టెక్పిక్స్ పరిష్కారం");
పై ప్రకటనలో, స్ట్రింగ్ “హలో ఇది టెక్పిక్స్ సొల్యూషన్” ఒక స్ట్రింగ్ స్థిరాంకం.
ఇప్పుడు ఉదాహరణ సహాయంతో స్ట్రింగ్ ఆబ్జెక్ట్ యొక్క మ్యుటబిలిటీని అర్థం చేసుకుందాం.
స్ట్రింగ్ str = క్రొత్త స్ట్రింగ్ ("టెక్పిక్స్"); str.concat ( "పరిష్కారం"); system.out.ln (str); // అవుట్పుట్ టెక్పిక్స్
పై కోడ్లో, నేను “టెక్పిక్స్” మరియు “సొల్యూషన్” అనే రెండు తీగలను కలిపేందుకు ప్రయత్నించాను. స్ట్రింగ్ సృష్టించినప్పుడల్లా మనకు తెలుసు, అంటే స్ట్రింగ్ రకం యొక్క వస్తువు సృష్టించబడుతుంది. అందువల్ల, స్ట్రింగ్ “టెక్పిక్స్” ఒక వస్తువును సృష్టిస్తుంది, దీని సూచన స్ట్రింగ్ ఆబ్జెక్ట్ “str” కు కేటాయించబడుతుంది. తరువాత, క్లాస్ స్ట్రింగ్ యొక్క “కాంకాట్ ()” పద్ధతిని ఉపయోగించి “టెక్పిక్స్” అనే స్ట్రింగ్తో “సొల్యూషన్” అనే మరొక స్ట్రింగ్ను కలపడానికి ప్రయత్నించాను.
స్ట్రింగ్ వస్తువులు మార్పులేనివి కాబట్టి, “టెక్పిక్స్” స్ట్రింగ్కు ఎటువంటి మార్పులు చేయబడలేదు మరియు కొత్త స్ట్రింగ్ “సొల్యూషన్” స్ట్రింగ్ స్థిరమైన పూల్లో మరొక వస్తువును సృష్టిస్తుంది. కానీ, “సొల్యూషన్” అనే వస్తువు యొక్క సూచన ఏ వస్తువు చేత పట్టుకోబడదు, అందువల్ల స్ట్రింగ్ స్థిరమైన పూల్లో ఇప్పటికీ ఉన్నప్పటికీ ఆబ్జెక్ట్ సొల్యూషన్ యొక్క సూచన పోతుంది. టెక్పిక్స్ అనే వస్తువుకు ఎటువంటి మార్పులు చేయనందున, నేను ఇంతకుముందు టెక్పిక్స్ యొక్క సూచనను కేటాయించిన ఆబ్జెక్ట్ str చేసినప్పుడు, స్ట్రింగ్ “టెక్పిక్స్” మాత్రమే అవుతుంది.
స్ట్రింగ్బఫర్ యొక్క నిర్వచనం
తరగతి “స్ట్రింగ్బఫర్” అనేది “స్ట్రింగ్” తరగతి యొక్క పీర్ క్లాస్. క్లాస్ స్ట్రింగ్బఫర్ తీగలకు మరింత కార్యాచరణను అందిస్తుంది. స్ట్రింగ్బఫర్ క్లాస్ యొక్క ఆబ్జెక్ట్ మార్చదగినది, దాని వస్తువు సవరించబడుతుంది. స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ యొక్క పొడవు పెరుగుతుంది. మీరు స్ట్రింగ్ బఫర్ ఆబ్జెక్ట్కు కేటాయించిన స్ట్రింగ్ అక్షరాలా మధ్యలో లేదా దాని చివరలో అక్షరాలు లేదా సబ్స్ట్రింగ్లను చేర్చవచ్చు. నిర్దిష్ట పొడవు అభ్యర్థించనప్పుడు స్ట్రింగ్బఫర్ 16 అదనపు అక్షరాల కోసం స్థలాన్ని కేటాయిస్తుంది.
స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ యొక్క మ్యుటబిలిటీని ఉదాహరణ సహాయంతో అర్థం చేసుకుందాం:
స్ట్రింగ్బఫర్ ఎస్బి = కొత్త స్ట్రింగ్బఫర్ ("టెక్పిక్స్"); Sb.append ( "పరిష్కారం"); system.out.ln (Sb); // అవుట్పుట్ టెక్పిక్స్ పరిష్కారం
స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ మ్యూటబుల్ అని మనకు తెలుసు. పద్ధతి అనుబంధం () స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ Sb ని సవరించుకుంటుంది, దీనికి ప్రారంభంలో, “టెక్పిక్స్” అనే వస్తువు యొక్క సూచన ముందుగా కేటాయించబడుతుంది. ఈ పద్ధతి అనుబంధం () కొత్త స్ట్రింగ్ సాహిత్య “సొల్యూషన్” ను స్ట్రింగ్ అక్షరాలా “టెక్పిక్స్” చివరలో జతచేస్తుంది. ఇప్పుడు నేను Sb ఆబ్జెక్ట్ చేసినప్పుడు అది సవరించిన స్ట్రింగ్ ఆబ్జెక్ట్ “టెక్పిక్స్ సొల్యూషన్స్” అవుతుంది.
- స్ట్రింగ్ ఆబ్జెక్ట్ యొక్క పొడవు పరిష్కరించబడింది కాని అవసరమైనప్పుడు స్ట్రింగ్బఫర్ యొక్క వస్తువు యొక్క పొడవు పెంచవచ్చు.
- స్ట్రింగ్ ఆబ్జెక్ట్ మార్పులేనిది, అనగా ఇది మళ్లీ కేటాయించబడదు, అయితే స్ట్రింగ్బఫర్ యొక్క వస్తువు మార్చదగినది.
- స్ట్రింగ్ ఆబ్జెక్ట్ పనితీరులో నెమ్మదిగా ఉంటుంది, అయితే స్ట్రింగ్బఫర్ ఆబ్జెక్ట్ వేగంగా ఉంటుంది.
- స్ట్రింగ్ ఆబ్జెక్ట్ ఎక్కువ మెమరీని వినియోగిస్తుంది, అయితే స్ట్రింగ్బఫర్ వస్తువులు తక్కువ మెమరీని వినియోగిస్తాయి.
- స్ట్రింగ్ వస్తువులు స్థిరమైన కొలనులో నిల్వ చేయబడతాయి, అయితే, స్ట్రింగ్బఫర్ వస్తువులు కుప్ప మెమరీలో నిల్వ చేయబడతాయి.
ముగింపు:
క్లాస్ స్ట్రింగ్తో పోలిస్తే స్ట్రింగ్బఫర్ వస్తువులు తీగలకు మరింత కార్యాచరణను అందిస్తాయి. అందువల్ల, క్లాస్ స్ట్రింగ్కు బదులుగా స్ట్రింగ్బఫర్తో పనిచేయడం మంచిది.