@jvmchat

Страница 449 из 2890
Gleb
21.07.2016
09:49:15
Мб путаю что-то

James Tiberius Kirk ?
21.07.2016
09:49:19
вектор посмотри

он депрекейтед вроде как, либо просто не принят к использованию

Мытко
21.07.2016
09:49:53
там тоже всё ок

Google
Мытко
21.07.2016
09:49:55
я хз

James Tiberius Kirk ?
21.07.2016
09:50:00
у него каждая операция синхронизированная

Мытко
21.07.2016
09:50:02
у меня доки 8 джавы

James Tiberius Kirk ?
21.07.2016
09:50:04
что вроде как плохо

Мытко
21.07.2016
09:50:42
эмм

я думаю по-другому никак нельзя сделать такую структуру данных

KrivdaTheTriewe
21.07.2016
09:51:09
Я доволен

3 года откатал

guga
21.07.2016
09:51:47
я думаю по-другому никак нельзя сделать такую структуру данных
Бывают разные синхронизации. так как сделан вектор — не эффективно

Мытко
21.07.2016
09:51:58
new ArrayIndexOutOfBoundsException кидай

у тебя же там на это проверяется

она правда сама кинется

Google
Мытко
21.07.2016
09:52:33
хэх

Andre
21.07.2016
09:53:08
А когда error по идеи надо кидать?

James Tiberius Kirk ?
21.07.2016
09:53:33
никогда

Мытко
21.07.2016
09:54:01
Исключение StackOverflowError бросается при переполнении стека вызовов. Это должно навести нас на мысль о бесконечной рекурсии.

James Tiberius Kirk ?
21.07.2016
09:54:08
я так понял, что ветка error предназначена для ошибок, связанных с работой jvm

guga
21.07.2016
09:54:18
А когда error по идеи надо кидать?
когда ты разработчик jvm и у тебя что-то стало свовсем плохо.

Мытко
21.07.2016
09:54:20
похоже что так

Мытко
21.07.2016
09:54:44
я не обсуждал

James Tiberius Kirk ?
21.07.2016
09:55:45
спойлер: обсуждали нормально ли то, что 90% методов в классе не доходит до завершения, тобишь return'а. И нет, это не нормально, и рано или поздно схватишь stackoverflow

Мытко
21.07.2016
09:56:39
а как такое может произойти

ну ты же всегда пишешь рекурсию, которая где-то закначивается

James Tiberius Kirk ?
21.07.2016
09:57:42
на гитхабе посмотри моем, у меня там есть такое

:>

Мытко
21.07.2016
09:57:57
кинь ссылку

плс

James Tiberius Kirk ?
21.07.2016
09:58:28
https://github.com/angrynaz/Tamagochi/blob/master/src/angry/naz/FSM.java

James Tiberius Kirk ?
21.07.2016
09:59:57
а как такое может произойти
собственно там в конце каждого метода вызывается setNextState(), и метод остается висеть в стеке навсегда, пока программа не завершит свою работу

Google
James Tiberius Kirk ?
21.07.2016
10:01:48
правильнее было сделать так, чтобы был один метод, в котором бы крутился цикл. Все исполняемые методы были в цикле и просто меняли enum-переменную стека и корректно завершались

Мытко
21.07.2016
10:02:09
а

всё

понял

James Tiberius Kirk ?
21.07.2016
10:02:14
у тебя там просто метод, который меняет состояние
ну и че? Ни один метод там не доходит до return

ну вот

Мытко
21.07.2016
10:02:17
у тебя там вызов метода опять

кекус

James Tiberius Kirk ?
21.07.2016
10:03:22
прошло 30 дней с тех пор как я написал это. Приятно, что вижу свои ошибки с тех пор, значит развиваюсь

ThisIs
21.07.2016
10:40:15
Всем привет, кто знает подскажите, допустим есть xml документ

James Tiberius Kirk ?
21.07.2016
10:40:27
так

ThisIs
21.07.2016
10:40:57
```<name><item>Item1</item> </name>

ThisIs
21.07.2016
10:41:29
как переоброзовать на такой <name item="Item1"/>

быстрый способ

Document.createAttribute - медленный какой то

+ xml документ большой

и <name> - может быть лям полей

Nik
21.07.2016
10:59:00
смотрите что принёс вам

https://chrome.google.com/webstore/detail/jetbrains-toolbox-extensi/offnedcbhjldheanlbojaefbfbllddna?hl=en

whalemare
21.07.2016
11:02:05
Уоу. вот это крутота

Google
Alexey
21.07.2016
11:12:27
? спасибо

ThisIs
21.07.2016
11:15:36
?

Sergey
21.07.2016
11:16:31
ThisIs
21.07.2016
11:17:23
да

Andre
21.07.2016
11:23:32
Ребят, еще такой вопрос по коду. Мне кажется equals не правильный, или все же верный? Чет я тесты написал, а там с разными обьектами проходит и метод true возвращает всегда. public class Stack { private Object[] buf; private int position; public Stack(int size) { buf = new Object[size]; } public boolean equals(Stack o) { return (buf == o.buf); }

James Tiberius Kirk ?
21.07.2016
11:24:03
ой ой ой

знак == сравнивает значения переменных

у примитивов это сравнение их значений

Igor
21.07.2016
11:24:34
знак == сравнивает ссылки на переменные

James Tiberius Kirk ?
21.07.2016
11:24:35
у объектов сранение адресов

Admin
ERROR: S client not available

Igor
21.07.2016
11:24:36
а не значения

James Tiberius Kirk ?
21.07.2016
11:25:22
object_а == object_b выдаст true только в том случае, если в это две ссылки на один и тот же объект в памяти

Andre
21.07.2016
11:26:21
James Tiberius Kirk ?
21.07.2016
11:26:41
тебе зачем этот equals нужен?

Артем
21.07.2016
11:26:56
надо вызывать метод, возвращающий значение с этого объекта, а не сам объект же

James Tiberius Kirk ?
21.07.2016
11:28:08
идея твоего equals это сравнение двух стеков на то, одинаковое ли у них содержимое. Для этого тебе нужно вытаскивать каждый элемент стека и попарно их сравнивать вплоть до конца либо до первого расхождения

Andre
21.07.2016
11:28:29
тебе зачем этот equals нужен?
сравнить стеки на схожесть данных которые там лежат.

James Tiberius Kirk ?
21.07.2016
11:28:41
тогда делай то, что я написал

Google
James Tiberius Kirk ?
21.07.2016
11:28:59
и все же, накати дженерики

Andre
21.07.2016
11:29:05
Окей)

Можно юзать стандартный equals у Object ?

James Tiberius Kirk ?
21.07.2016
11:29:51
можно, а толку

у object equals работает точно так же как работает написанный тобой

сравнивает ссылки

Andre
21.07.2016
11:30:35
тогда просто == ?

James Tiberius Kirk ?
21.07.2016
11:31:03
ну блин

когда программист пишет свои классы, которые будут контейнерами для информации

он обязан пилить в них equals если он собирается их сравнивать

дефолтный equals работает чуть меньше чем нихуя

и hashCode пилить тож

Towhopu
21.07.2016
11:32:13
желательно пилить вместе equals(...) и hashCode()

Andre
21.07.2016
11:43:01
когда программист пишет свои классы, которые будут контейнерами для информации
Как я понял, можно делать так, или я не так понял ? public boolean equalsElements(Stack stack) { if ( this.buf.length!= stack.buf.length) return false; for ( int pos=0;pos<buf.length;pos++) { if (buf[pos] != stack.buf[pos]) return false; } return true; }

James Tiberius Kirk ?
21.07.2016
11:43:40
не правильно

if (buf[pos] != stack.buf[pos])

Andre
21.07.2016
11:43:50
James Tiberius Kirk ?
21.07.2016
11:44:27
здесь !buf[pos].equals(stack.buf[pos]) в условии должно быть

а в целом все верно

только кое-что я не пойму, у тебя идет обращение stack.buf[pos]

а buf у тебя же private

ты не сможешь к нему так обратиться

Andre
21.07.2016
11:45:38
здесь !buf[pos].equals(stack.buf[pos]) в условии должно быть
вот как раз про это и был вопрос, писать equals or == при сравнение обьектов. Щас тест напишу посмотрю

Страница 449 из 2890