|
|
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, заранее, если глупость спрошу, может это все давно и знают, но я что-то, как-то недавно столкнулся лишь. Есть List<String> strings = new ArrayList<>()); наполняем строками и удаляем первую. Естественно всё с проверками на пустой лист и с прочим оформлением. При этом System.out.println(strings.remove(0)); выведет строку в аутпут, которую мы ремувим. Почему? Фишка такая? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 22:14 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
NixicПочему? Фишка такая? :) этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 22:22 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
chpashaNixicПочему? Фишка такая? :) этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ? И чо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 22:51 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
chpashaNixicПочему? Фишка такая? :) этой темы могло не быть, если бы ты потрудился посмотреть контракты методов List.remove(int) и List.remove(object) ? А всё, понял. Можно было и просто сказать, что он булеан не возвращает, а не писать так, будто только что из форума по 1С переползли. И не контракты, а спецификации, или доки. Контракты это всё же другое чуть. Да, перепутал с обжектом, в ступор встал, потому что никогда не обращал внимания на то, что там ремув возвращает, потому что просто ремувил и всё. Открыл первый по списку и увидел, что булеан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 23:01 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
Но спасибо, теперь хоть точно не забуду))) И впредь внимательнее буду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 23:04 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
NixicИ не контракты, а спецификации, или доки. Контракты это всё же другое чуть. https://ru.m.wikipedia.org/wiki/Контрактное_программирование авторВ объектно-ориентированном программировании контракт метода обычно включает следующую информацию:В объектно-ориентированном программировании контракт метода обычно включает следующую информацию: возможные типы входных данных и их значение; типы возвращаемых данных и их значение; условия возникновения исключений, их типы и значения; присутствие побочного эффекта метода; предусловия, которые могут быть ослаблены (но не усилены) в подклассах; постусловия, которые могут быть усилены (но не ослаблены) в подклассах; инварианты, которые могут быть усилены (но не ослаблены) в подклассах; (иногда) гарантии производительности, например, временная сложность или сложность по памяти. возможные типы входных данных и их значение; типы возвращаемых данных и их значение; условия возникновения исключений, их типы и значения; присутствие побочного эффекта метода; предусловия, которые могут быть ослаблены (но не усилены) в подклассах; постусловия, которые могут быть усилены (но не ослаблены) в подклассах; инварианты, которые могут быть усилены (но не ослаблены) в подклассах; (иногда) гарантии производительности, например, временная сложность или сложность по памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2017, 06:51 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
Что то 2 раза вставил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2017, 06:52 |
|
||
|
System.out.println(strings.remove(0)); Почему выводит строку? Ведь возвращает boolean..
|
|||
|---|---|---|---|
|
#18+
HettNixicИ не контракты, а спецификации, или доки. Контракты это всё же другое чуть. https://ru.m.wikipedia.org/wiki/Контрактное_программирование авторВ объектно-ориентированном программировании контракт метода обычно включает следующую информацию:В объектно-ориентированном программировании контракт метода обычно включает следующую информацию: возможные типы входных данных и их значение; типы возвращаемых данных и их значение; условия возникновения исключений, их типы и значения; присутствие побочного эффекта метода; предусловия, которые могут быть ослаблены (но не усилены) в подклассах; постусловия, которые могут быть усилены (но не ослаблены) в подклассах; инварианты, которые могут быть усилены (но не ослаблены) в подклассах; (иногда) гарантии производительности, например, временная сложность или сложность по памяти. Давайте уже тогда ссылку на контракты по листам. Ведь как я понял - это элементарно. И раз уж начали этот холивар :) чем отличается спека и дока от контракта? В вашем представлении. Можно с гуглом, конечно же, можно не на русском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2017, 08:10 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=63&tid=2122730]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 381ms |

| 0 / 0 |
