На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

String и null на собеседовании по Java



На собеседовании (экзамене) по основам языка Java вам могут задать такой вопрос: что выведет программа ниже?

package ru.upread.string.test;
 
public class TestString {
 
    public static void main(String[] args) {
 
        String str1 = null;
        str1 = str1 + " UpRead";
        System.out.println(str1);
    }
}
Ответ

null UpRead
Объяснение ответа

  • Изначально, строка str1 инициализируется null
  • На следующем шаге на линии 8 происходит конкатенация строк с помощью оператора “+”
  • Итак, теперь будет интересно посмотреть, какой будет точный вывод
  • Немало экзаменуемых считают, что программа выведет только UpRead, без null
  • Но на печать после конкатенации выводится "null UpRead"
  • Дело в том, что здесь мы работаем со ссылками, а если ссылка равна null, то она преобразуется в строку "null".
Если быть более точным, то в документации по Java для метода String.valueOf(Object) написано следующее: если аргумент имеет значение null, то возвращается строка, равная "null"; в противном случае возвращается значение obj.toString().





Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, задачи, java, интересное в программировании





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



Урок 38. Глобальная область видимости JavaScript
Адаптация табличной верстки


© upread.ru 2013-2023
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.