powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
9 сообщений из 9, страница 1 из 1
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494926
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, заранее, если глупость спрошу, может это все давно и знают, но я что-то, как-то недавно столкнулся лишь.

Есть
List<String> strings = new ArrayList<>());

наполняем строками и удаляем первую.
Естественно всё с проверками на пустой лист и с прочим оформлением.

При этом
System.out.println(strings.remove(0));

выведет строку в аутпут, которую мы ремувим.
Почему? Фишка такая? :)
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494929
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicПочему? Фишка такая? :)
этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ?
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494932
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaNixicПочему? Фишка такая? :)
этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ?
И чо?
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494936
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaNixicПочему? Фишка такая? :)
этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ?
А всё, понял. Можно было и просто сказать, что он булеан не возвращает, а не писать так, будто только что из форума по 1С переползли.
И не контракты, а спецификации, или доки. Контракты это всё же другое чуть.
Да, перепутал с обжектом, в ступор встал, потому что никогда не обращал внимания на то, что там ремув возвращает, потому что просто ремувил и всё. Открыл первый по списку и увидел, что булеан.
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494937
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но спасибо, теперь хоть точно не забуду)))
И впредь внимательнее буду :)
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494993
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicИ не контракты, а спецификации, или доки. Контракты это всё же другое чуть.

https://ru.m.wikipedia.org/wiki/Контрактное_программирование
авторВ объектно-ориентированном программировании контракт метода обычно включает следующую информацию:В объектно-ориентированном программировании контракт метода обычно включает следующую информацию:

возможные типы входных данных и их значение;
типы возвращаемых данных и их значение;
условия возникновения исключений, их типы и значения;
присутствие побочного эффекта метода;
предусловия, которые могут быть ослаблены (но не усилены) в подклассах;
постусловия, которые могут быть усилены (но не ослаблены) в подклассах;
инварианты, которые могут быть усилены (но не ослаблены) в подклассах;
(иногда) гарантии производительности, например, временная сложность или сложность по памяти.

возможные типы входных данных и их значение;
типы возвращаемых данных и их значение;
условия возникновения исключений, их типы и значения;
присутствие побочного эффекта метода;
предусловия, которые могут быть ослаблены (но не усилены) в подклассах;
постусловия, которые могут быть усилены (но не ослаблены) в подклассах;
инварианты, которые могут быть усилены (но не ослаблены) в подклассах;
(иногда) гарантии производительности, например, временная сложность или сложность по памяти.
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39494994
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то 2 раза вставил...
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39495013
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettNixicИ не контракты, а спецификации, или доки. Контракты это всё же другое чуть.

https://ru.m.wikipedia.org/wiki/Контрактное_программирование
авторВ объектно-ориентированном программировании контракт метода обычно включает следующую информацию:В объектно-ориентированном программировании контракт метода обычно включает следующую информацию:

возможные типы входных данных и их значение;
типы возвращаемых данных и их значение;
условия возникновения исключений, их типы и значения;
присутствие побочного эффекта метода;
предусловия, которые могут быть ослаблены (но не усилены) в подклассах;
постусловия, которые могут быть усилены (но не ослаблены) в подклассах;
инварианты, которые могут быть усилены (но не ослаблены) в подклассах;
(иногда) гарантии производительности, например, временная сложность или сложность по памяти.

Давайте уже тогда ссылку на контракты по листам. Ведь как я понял - это элементарно.
И раз уж начали этот холивар :) чем отличается спека и дока от контракта?
В вашем представлении. Можно с гуглом, конечно же, можно не на русском.
...
Рейтинг: 0 / 0
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
    #39495022
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicИ раз уж начали этот холивар :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]