Мне лично нравится Visual Studio, объединенная со сторонним дополнением такой, поскольку Визуальный Помогают ( http://www.wholetomato.com/ ). Я попробовал несколько из других и всегда заканчивал назад с Visual Studio. Плюс, Visual Studio является широко используемым продуктом в отраслях промышленности разработки, таким образом имение опыта с помощью нее может только быть плюс.
В Java, ==
всегда просто сравнивает две ссылки (то есть для не примитивов), т. Е. Проверяет, ссылаются ли два операнда на один и тот же объект.
Однако метод равно
может быть переопределен, поэтому два различных объекта могут быть равными.
Например:
String x = "hello";
String y = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });
System.out.println(x == y); // false
System.out.println(x.equals(y)); // true
Кроме того, стоит помнить, что любые две равные строковые константы (в основном строковые литералы, но также и комбинации строковых констант посредством конкатенации) в конечном итоге будут ссылаться на одну и ту же строку. Например:
String x = "hello";
String y = "he" + "llo";
System.out.println(x == y); // true!
Здесь x
и y
- это ссылки на одну и ту же строку, потому что y
- это константа времени компиляции, равная "привет "
.
Если мы с вами зайдем в банк, каждый откроет новый счет и внесет 100 долларов, тогда ...
myAccount.equals (yourAccount)
будет true
, потому что они имеют одинаковое значение , но myAccount == yourAccount
имеет значение false
, потому что это не тот же аккаунт ]. (Конечно, при соответствующих определениях класса Account
; -)
Оператор == сравнивает, являются ли объекты одним и тем же экземпляром . Оератор equals () сравнивает состояние объектов (например, если все атрибуты равны). Вы даже можете переопределить метод equals (), чтобы определить себя, когда объект равен другому.