[Java Syntax] - GetFirstOddOrEvenElements
Зравейте колеги! Моля Ви за мнение по една от задачите от домашното Java Syntax. Това е кодът ми: http://pastebin.com/AipicDr4
Въпросът ми е дали съм структурирала правилно и четимо метода - като резултат получавам верен отговор, но реших сама да прочета предварително колкото може от материала и да реша някоя и друга задача. Моля ви да дадете мнение и ако нещо не е както трябва да се коригирам. Предварително благодаря!
Здравей,
сравнението на обекти в Java става посредством .equals методите им - == сравнява референции, докато equals сравнява стойностите в обекта (в случай, че е Override-нат по този начин). String е обект и е коректно да направиш:
"odd".equals(commandSplitted[2])
вместо:
commandSplitted[2]=="odd"
Сравнението с == ще сработи само в частен случай, в който двете референции сочат към един и същ обект, което за String може да се получи освен след присвояване и след статично задаване от типа String example = "example". Последното сработва понеже JVM-а пази string обекти и насочва референцията към вече съществуващи такива (не важи за new String(), който изрично създава нов обект). Това е възможно поради факта, че string е immutable и няма риск от промяна на обекта, а от друга страна се прави намаляване на използваната памет поради преизползването на обектите.