Loading...
nickpanaiotov avatar nickpanaiotov 21 Точки

[Technical Issue] Java Basics - Какво връща String.split() в java?

Здравейте колеги,

Защо да му го ********** String.split() не връща нормален си масив от стрингове. И по точно каквъв е проблема това да работи?

String[] splitInput =(inputString.split(" ".trim()));


int value = Integer.parseInt(splitInput[0]);
String word = splitInput[1];

 

Инта се парсва като хората, но като опитам if(measure =="думата") ми казва, че не е същия стринг и не минава проверката.

Пробвах с toString(), с trim() ... каквото се сетих, но уви.  Казва ми "думата" не е равна на "думата".

Поздрави : )

Тагове:
0
Java Advanced
lostm1nd avatar lostm1nd 121 Точки

В Java не можеш да сравняваш стрингове с оператора ==. Трябва да ги сравняваш с метода .equals ; ) Операторът == тества само дали сочат към един адрес - сравнява референции.

1
HPetrov avatar HPetrov 822 Точки

В Java не можеш да сравняваш голяма част от нещата чисто и просто с "==". Ползва се .equals или .compareTo.

1
kaizer avatar kaizer 35 Точки

И аз до преди малко нешо подобно пробвах :)

0
a_rusenov avatar a_rusenov 1103 Точки

Хаха и аз се мотах 100 часа докато се усетя :)) Както казаха колегите, в C# == ти е предефиниран да ги сравнява стринговете по стойност, а тук сравнява техните им адреси в паметта. Още по-тъпо е, че в java нямаш екстеншън методи, така че и да искаш, не можеш да overload-ваш оператори.

0
nickpanaiotov avatar nickpanaiotov 21 Точки

Много тъпо пък не знам и compareTo() и equalTo() не работят с референции. Едното може да е референция, но другото с което сравняваш иска да си е "стринг"; Тоест :

 

String word = "word";

compareTo(word) не работи иска compareTo("word"). Което според мен е пълен ташак, същата работа и с equalsTo()

0
ZvetanIG avatar ZvetanIG 907 Точки

" ".trim()   -   това няма особен смисъл, защото връща  ""  (празен низ). 

String[] splitInput =(inputString.split(" ".trim()));     Не ти работи коректно, защото подаваш празен низ на split и в този случай ти разбива стринга на символи.   

Например Ако въведеш 12 ще получиш масив с два елемента, който имат стойност "1" и "2".

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.