Ваш запрос очень близок. Вы должны использовать следующее, которое включает в себя subject
в конечном списке выбора:
select u.name, u.subject, u.marks
from student s
unpivot
(
marks
for subject in (Maths, Science, English)
) u;
Строка инициализируется без символов, или "".
public String() {
this.offset = 0;
this.count = 0;
this.value = new char[0];
}
Приведенный выше источник взят из исходного кода Java. Как указал другой автор, ссылки могут быть либо нулевыми, либо указывать на объект, если вы создадите объект String и получите ссылку, указывающую на него, эта ссылка не будет нулевой.
new String () создает строку нулевой длины. Если вы просто сказали «String foo;» как переменная-член, она будет инициализирована значением null. Если вы скажете «String foo;» как функциональная переменная не определена и приведет к ошибке компиляции, если вы попытаетесь использовать ее без присвоения значения.
"null" - это значение для переменной, а не значение для String. "foo" может иметь значение null, но фактическая Строка - нет. Вы создали новую пустую Строку (как сказано в документации к конструктору) и присвоили ее foo.
Новая строка печатается потому, что вы вызвали метод println(), который печатает строку после печати любого переданного вами аргумента. new String() вернет "".
Он инициализируется ""
(пустая строка)
public class StringTest {
public static void main( String [] args ) {
System.out.println( "".equals(new String()));
}
}
печатает:
true