Ин Јава , стринг је у основи објекат који представља низ вредности цхар. Ан низ знакова ради исто као и Јава стринг. На пример:
char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch);
је исто као:
String s='javatpoint';
Јава Стринг класа пружа много метода за обављање операција над стринговима као што су цомпаре(), цонцат(), екуалс(), сплит(), ленгтх(), реплаце(), цомпареТо(), интерн(), субстринг() итд.
Класа јава.ланг.Стринг имплементира Сериализабле , Упоредиво и ЦхарСекуенце интерфејси .
ЦхарСекуенце Интерфаце
Интерфејс ЦхарСекуенце се користи за представљање низа знакова. Низ, СтрингБуффер и СтрингБуилдер класе га спроводе. То значи да можемо креирати стрингове у Јави користећи ове три класе.
Јава стринг је непроменљив што значи да се не може променити. Кад год променимо било који стринг, креира се нова инстанца. За променљиве стрингове можете користити класе СтрингБуффер и СтрингБуилдер.
Касније ћемо разговарати о непроменљивом низу. Хајде да прво разумемо шта је Стринг у Јави и како да креирамо Стринг објекат.
Шта је стринг у Јави?
Генерално, стринг је низ знакова. Али у Јави, стринг је објекат који представља низ знакова. Класа јава.ланг.Стринг се користи за креирање стринг објекта.
Како направити стринг објекат?
Постоје два начина за креирање Стринг објекта:
- По стринг литералу
- По новој кључној речи
1) Стринг литерал
Јава стринг литерал се креира коришћењем двоструких наводника. На пример:
String s='welcome';
Сваки пут када креирате стринг литерал, ЈВМ прво проверава 'стринг цонстант поол'. Ако стринг већ постоји у групи, враћа се референца на здружену инстанцу. Ако стринг не постоји у групи, нова инстанца стринга се креира и ставља у групу. На пример:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
У горњем примеру биће креиран само један објекат. Прво, ЈВМ неће пронаћи ниједан стринг објекат са вредношћу 'Велцоме' у скупу константи стрингова, због чега ће креирати нови објекат. Након тога ће пронаћи стринг са вредношћу 'Велцоме' у скупу, неће креирати нови објекат већ ће вратити референцу на исту инстанцу.
Напомена: Стринг објекти се чувају у посебном меморијском подручју познатом као 'стринг цонстант поол'.
Зашто Јава користи концепт стринг литерала?
Да би Јава била ефикаснија меморија (јер се не креирају нови објекти ако већ постоји у скупу константи низова).
2) По новој кључној речи
String s=new String('Welcome');//creates two objects and one reference variable
У том случају, ЈВМ ће креирати нови стринг објекат у нормалној (не-поол) меморији гомиле, а литерал 'Велцоме' ће бити смештен у скуп стринг константи. Променљива с ће се односити на објекат у хрпи (не-поол).
конкатенирати јава стринг
Пример Јава стринга
СтрингЕкампле.јава
public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }}Тестирајте одмах
Излаз:
java strings example
Горњи код, претвара а цхар низ у а Низ објекат. И приказује Стринг објекте с1, с2 , и с3 на конзоли користећи принтлн() методом.
Методе класе Јава Стринг
Класа јава.ланг.Стринг пружа многе корисне методе за извођење операција над низом вредности цхар.
Не. | Метод | Опис |
---|---|---|
1 | цхар цхарАт(инт индекс) | Враћа вредност цхар за одређени индекс |
2 | инт дужина() | Враћа дужину низа |
3 | статички стринг формат (формат стринга, објекат... аргс) | Враћа форматирани стринг. |
4 | статички стринг формат (Локал л, формат стринга, објекат... аргс) | Враћа форматирани стринг са датим локализацијом. |
5 | Подниз низа (инт бегинИндек) | Враћа подниз за дати почетни индекс. |
6 | Подниз низа (инт бегинИндек, инт ендИндек) | Враћа подниз за дати почетни и крајњи индекс. |
7 | логички садржи(ЦхарСекуенце с) | Враћа тачно или нетачно након подударања низа вредности цхар. |
8 | спајање статичког стринга (разграничење знакова, елементи низа знакова...) | Враћа спојени низ. |
9 | спајање статичког стринга (разграничење знакова, елементи који се могу понављати) | Враћа спојени низ. |
10 | боолеан једнако (објекат други) | Проверава једнакост стринга са датим објектом. |
Једанаест | боолеан исЕмпти() | Проверава да ли је стринг празан. |
12 | Стринг цонцат(Стринг стр) | Он спаја наведени стринг. |
13 | Замена низа (старо цхар, ново цхар) | Замењује сва појављивања наведене вредности цхар. |
14 | Замена низа (стара секвенца знакова, нова секвенца знакова) | Замењује сва појављивања наведене секвенце знакова. |
петнаест | статички стринг екуалсИгнореЦасе(стринг други) | Упоређује други низ. Не проверава случај. |
16 | Стринг[] сплит (редовни израз стринга) | Враћа подељени низ који се подудара са регуларним изразом. |
17 | Стринг[] сплит (редовни израз стринга, ограничење инт) | Враћа подељени низ који одговара регуларном изразу и ограничењу. |
18 | Стринг интерн() | Враћа интернирани стринг. |
19 | инт индекОф(инт цх) | Враћа наведени индекс вредности цхар. |
двадесет | инт индекОф(инт цх, инт фромИндек) | Враћа наведени индекс вредности цхар почевши од датог индекса. |
двадесет један | инт индекОф(стринг подниз) | Враћа наведени индекс подстринга. |
22 | инт индекОф(стринг подниз, инт изИндек) | Враћа наведени индекс подстринга који почиње са датим индексом. |
23 | Стринг тоЛоверЦасе() | Враћа низ малим словима. |
24 | Стринг то ЛоверЦасе (Лоцале л) | Враћа стринг малим словима користећи специфицирани локал. |
25 | Стринг тоУпперЦасе() | Враћа стринг великим словима. |
26 | Стринг за велика слова (локал л) | Враћа стринг великим словима користећи специфицирани локал. |
27 | стринг трим() | Уклања почетне и крајње размаке овог низа. |
28 | статички стринг валуеОф(инт валуе) | Конвертује дати тип у стринг. То је преоптерећена метода. |
Да ли знаш?
- Зашто су Стринг објекти непроменљиви?
- Како направити непроменљиву класу?
- Шта је скуп константних низова?
- Који код је написао компајлер ако спојите било који стринг помоћу + (оператор спајања стрингова)?
- Која је разлика између класе СтрингБуффер и СтрингБуилдер?
Шта ћемо научити у руковању стринговима?
- Концепт стринга
- Иммутабле Стринг
- Поређење низова
- Стринг Цонцатенатион
- Концепт подниза
- Методе стринг класе и њихова употреба
- СтрингБуффер цласс
- СтрингБуилдер класа
- Креирање непроменљиве класе
- метода тоСтринг().
- СтрингТокенизер цласс