Опрос по уровню 3

  • 3
  • недоступен
«Почему все объекты в Java можно преобразовать в строку?» и другие интересные вопросы ждут вас в тесте по материалам третьего уровня. Вы задумались? Или, наоборот, решили, что вопрос слишком простой и очевидный? Там их 20 штук, попробуйте ответить на все!

3
Опрос
Java Syntax,  3 уровень,  11 лекция
недоступен
Опрос по уровню 3
«Почему все объекты в Java можно преобразовать в строку?» и другие интересные вопросы ждут вас в тесте по материалам третьего уровня. Вы задумались? Или, наоборот, решили, что вопрос слишком простой и очевидный? Там их 20 штук, попробуйте ответить на все!
Комментарии (26)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Кедель Михаил40 уровень
22 сентября, 12:41
Мне нравиться как люди на 30-40 уровне хвастаются,что прошли опрос по 3 уровню.
Роман14 уровень
31 октября, 07:33
Значит настолько низко они себя оценивают :D
RMuskovets30 уровень, Львов
30 августа, 08:16
19/20
Илья10 уровень
19 августа, 18:55
чего?? Что значит можно любой класс вывести на экран? то есть я могу class Cat { } вывести на экран?) и что же будет на экране?
Дмитрий18 уровень, Санкт-Петербург
20 августа, 13:06
Любой класс в Java наследуется от класса Object, а класс Object содержит метод toString(), который вернёт тебе имя объекта + его хеш:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Источник: Class Object
Макс Куркудюк36 уровень, Киев
20 августа, 19:58
Всі класи у java наслідуються від класу Object, який в свою чергу має метод toString(). Тому будь-який клас можна вивести на екран у вигляді стрічки.
Макс Куркудюк36 уровень, Киев
20 августа, 20:00
Тю, це ж відповідь на наступне запитання) Видно, щось таки знаю))
Илья10 уровень
20 августа, 21:08
спасибо но я не понял XD on russian, please
Макс Куркудюк36 уровень, Киев
21 августа, 10:08
RMuskovets30 уровень, Львов
30 августа, 08:17
чтото такое: Cat@0f1246fa
Илья10 уровень
31 августа, 19:47
спасибо) понимаю такие вещи только после того как сам разбираюсь)
Nataliya29 уровень, Киев
2 сентября, 11:47
Не стрічка, а рядок.
Макс Куркудюк36 уровень, Киев
2 сентября, 15:19
Можна і так і так :) Це те ж саме, як кажуть на одне й те ж сковорідка, пательня, чара...
Антон9 уровень
5 сентября, 22:39
Звiсна рiч, можна... якщо у школi була двiйка з української )) Не треба плутати малограмотнiсть з дiалектом, не вводьте людей в оману)))
Taler27 уровень, Санкт-Петербург
19 августа, 14:35
Насколько корректен по своей формулировке один из вариантов ответа в 12 вопросе? Стандартный метод toString() класса Object возвращает строку, состоящую из: - Только адреса объекта в памяти Насколько я видел метод toString выводит информацию о классе в виде "ИмяКласса"+@+hashcode public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } Никакой речи об адресе в памяти и речи быть не может, тем более что Java против доступа к данным по адресу в памяти ))))
Макс40 уровень
20 августа, 08:33
Насколько я понимаю, по-умолчанию хэш-код объекта это номер ячейки памяти, в которой этот объект хранится, тобишь его адрес в памяти. Поэтому если ничего не переопределять то toString() и дает нам имя объекта + адрес
Taler27 уровень, Санкт-Петербург
20 августа, 22:50
Хорошо, допустим это адрес в памяти )))) Тогда хэшкод вида "-1756456" куда указывает в памяти???
Макс40 уровень
21 августа, 08:54
Ну вот например что написано в документации: As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.) Как написано в скобках хэш-код обычно получают путем преобразования внутреннего адреса объекта в целое число Ну, вообще я слабо знаю все эти глубокие материи, могу сейчас ошибаться, но насколько я понимаю существует несколько вариантов реализации хэш-кода. Это может быть адрес в памяти, может быть полученное с помощью генератора случайных чисел значение, может быть константа и т.д. И вот какая именно реализация используется зависит от джава машины, ее версии, может еще от чего (опять же, как я это понимаю, если ошибаюсь поправьте кто-нибудь). Ну короче то что мы все тут используем, что скачали с сайта Оракла, там в стандартной реализации хэш-кода используется именно адрес объекта (ну или использовался в той джаве, под которую сделан курс, в последних версиях может и поменять могли). Так что число, которое получается при вызове хэш-кода (именно стандартного, если его переопределить тогда это уже совершенно другое дело) какого-то объекта - это номер ячейки памяти, в которой этот объект хранится.
RMuskovets30 уровень, Львов
30 августа, 08:17
это адрес
Taler27 уровень, Санкт-Петербург
30 августа, 09:39
Ну Вы же сами привели цитату из доки: hashcode (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.) Где английским по белому написано, что hashcode это целое число, сконвертированное из внутреннего адреса. Таким образом сам хэшкод адресом не является - это просто число int.
Khagnar29 уровень, Санкт-Петербург
16 августа, 22:18
фидбэк для админов: идея тестов по уровням 10/10, для сложности, думаю нужно сделать вопросы с несколькими вариантами ответов, ну и хотелось бы после теста посмотреть правильный ответ на вопрос( можно с поясняющими комментариями), если ошибся во время выполнения.
Иллидан40 уровень, Киев
17 августа, 10:57
Ты не готов!
Khagnar29 уровень, Санкт-Петербург
18 августа, 02:22
Майев скучает по тебе
Владимир40 уровень, Алматы
16 августа, 02:31
:)
Philip J.40 уровень, Днепр
16 августа, 00:19
Вариант с объединением строк прокрастинацией повеселил :)
Sergey Simonov35 уровень, Санкт-Петербург
15 августа, 16:38
круто, жду по дальнейшим уровням)