Java/Типы данных: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 93:
Ссылочные типы - это все остальные типы: классы, перечисления и интерфейсы, например, объявленные в стандартной библиотеке Java, а также массивы.
 
=
=== Строки ===
Строки это объекты класса <tt>String</tt>, они очень распространены, поэтому в некоторых случаях обрабатываются отлично от всех остальных объектов. Строковые литералы записываются в двойных кавычках.
<source lang="java">
public class Strings {
public static void main(String[] args) {
String a = "Hello", b = "World";
System.out.println(a + " " + b); // Здесь + означает объединение (конкатенацию) строк
// Пробел не вставляется автоматически
 
// Строки конкатенируются слева направо, надо помнить это когда соединяешь строку и примитив
String c = 2 + 2 + ""; // "4"
String d = "" + 2 + 2; // "22"
d = "" + (2 + 2); // а теперь d тоже "4"
 
String foo = "a string";
String bar = "a string"; // bar будет указывать на тот же объект что и foo
String baz = new String("a string"); // Чтобы гарантированно создать новую строку надо вызвать конструктор
System.out.println("foo == bar ? " + (foo == bar)); // == сравнивает ссылки на объекты
System.out.println("foo равен bar ? " + (foo.equals(bar))); // Метод equals служит для проверки двух объектов на равенство
System.out.println("foo == baz ? " + (foo == baz));
System.out.println("foo равен baz ? " + (foo.equals(baz)));
}
}
</source>
Эта программа выведет:<br>
<tt>
Hello World<br>
foo == bar ? true<br>
foo равен bar ? true<br>
foo == baz ? false<br>
foo равен baz ? true<br>
</tt>
 
 
<source lang="java">
int i;
Integer boxed;
// Обычное создание объекта
boxed = new Integer(i);
//
 
{{BookCat}}