==
тесты для ссылочного равенства (являются ли они тем же объектом).
.equals()
тесты для равенства значения ("равны" ли они логически).
Objects.equals () проверки на null
прежде, чем звонить .equals()
, таким образом, Вы не имеете к (доступный с JDK7, также доступного в [1 113] Гуава ).
String.contentEquals () сравнивает содержание String
с содержанием любого CharSequence
(доступный начиная с Java 1.5).
, Следовательно, если Вы хотите протестировать, имеют ли две строки то же значение, которое Вы, вероятно, захотите использовать Objects.equals()
.
// These two have the same value
new String("test").equals("test") // --> true
// ... but they are not the same object
new String("test") == "test" // --> false
// ... neither are these
new String("test") == new String("test") // --> false
// ... but these are because literals are interned by
// the compiler and thus refer to the same object
"test" == "test" // --> true
// ... string literals are concatenated by the compiler
// and the results are interned.
"test" == "te" + "st" // --> true
// ... but you should really just call Objects.equals()
Objects.equals("test", new String("test")) // --> true
Objects.equals(null, "test") // --> false
Objects.equals(null, null) // --> true
Вы почти [1 132] всегда хотят использовать Objects.equals()
. В редкий ситуация, где Вы знаете , Вы имеете дело с [1 115], интернировал строки, Вы можете использование ==
.
От [1 116] JLS 3.10.5. Строковые литералы :
, Кроме того, строковый литерал всегда относится к тот же экземпляр класса
String
. Это вызвано тем, что строковые литералы - или, в более общем плане, строки, которые являются значениями константных выражений ( В§15.28 ) - "интернируются", чтобы совместно использовать уникальные экземпляры, с помощью методаString.intern
.
Подобные примеры могут также быть найдены в [1 118] JLS 3.10.5-1 .
Ядро может быть обновлено во время нормального обновления. Все ядра остаются на жестком диске и должны быть в состоянии быть загруженными из меню личинки, представленного во время начальной загрузки. Я сохраняю старые ядра, при этом нет никакого вреда.
Снабжать предисловием, больше информации [приблизительно 111] ядра . На очень высоком уровне ядро является самой фактической операционной системой (говорит с аппаратными средствами, запускает приложения, и т.д.). Необходимо было установить одно ядро для выполнения Linux.
ядра, которые Вы видите перечисленный, , установил , но они не используются (за исключением выполнения того). Нет никакого вреда в хранении нескольких версий, и это обычно - хорошая идея сделать так в случае, если Вы поражаете любую проблему с более новой версией.
, Если Вам не нравятся они находиться в Вашей системе, они могут быть удалены с:
sudo apt-get autoremove
, Который должен убрать неиспользованные ядра (наряду с другими неиспользованными пакетами). Нет никакого вреда в хранении их, все же.