Size: a a a

2020 October 16

A

Astar in learn.java
Не понимаю почему так... Все элементы массива созданного мною объекта получают абсолютно одинаковые значения... Что я делаю не так?
источник

A

Astar in learn.java
источник

A

Astar in learn.java
Собственно вот сам лог
источник

A

Astar in learn.java
источник

DS

Dmitriy Shilnikov in learn.java
Astar
Не понимаю почему так... Все элементы массива созданного мною объекта получают абсолютно одинаковые значения... Что я делаю не так?
Ну ты через Array.fill засовываешь в них во все один и тот же объект
источник

A

Astar in learn.java
Dmitriy Shilnikov
Ну ты через Array.fill засовываешь в них во все один и тот же объект
То есть из за этого метода вся эта штука? а что если мне надо проинициализировать по умолчанию каждый элемент массива?
источник

DS

Dmitriy Shilnikov in learn.java
Astar
То есть из за этого метода вся эта штука? а что если мне надо проинициализировать по умолчанию каждый элемент массива?
Ну ты можешь просто написать цикл и проинициализировать
источник

DS

Dmitriy Shilnikov in learn.java
Можешь через стримы заполнить
источник

DS

Dmitriy Shilnikov in learn.java
Но в этом смысла нет
источник

A

Astar in learn.java
Dmitriy Shilnikov
Ну ты через Array.fill засовываешь в них во все один и тот же объект
Кажется я начинаю понимать... Получается у каждого элемента elements[] имеется ссылка на один и тот же объект, даже если он был передан как new Effect()
источник

DS

Dmitriy Shilnikov in learn.java
Ну он вначале создаёт new Effect(), а потом передаёт его в fill. Эта функция вообще не знает, откуда объект взялся.
источник

A

Astar in learn.java
Аа, теперь понятно ) спасибо. А то у меня уже начинало пригорать от того что не мог понять почему не работает
источник

DS

Dmitriy Shilnikov in learn.java
Astar
Аа, теперь понятно ) спасибо. А то у меня уже начинало пригорать от того что не мог понять почему не работает
У функций, которые делали бы то, что ты хочешь, вторым аргументом должна была быть функция в каком-то виде, т.е. что-нибудь типа java.util.function.Supplier
источник

DS

Dmitriy Shilnikov in learn.java
А не объект
источник

DS

Dmitriy Shilnikov in learn.java
И ты бы писал тогда fill(a, () -> new Effect())
источник

ch

central hardware in learn.java
Astar
Аа, теперь понятно ) спасибо. А то у меня уже начинало пригорать от того что не мог понять почему не работает
начинайте пользоваться дебагером
источник

GV

Gukov Viktor in learn.java
Astar
То есть из за этого метода вся эта штука? а что если мне надо проинициализировать по умолчанию каждый элемент массива?
>а что если мне надо проинициализировать по умолчанию каждый элемент массива?
Ты внутрь fill заглядывал? Там две строчки цикла
источник

A

Astar in learn.java
central hardware
начинайте пользоваться дебагером
Пробовал )) проект уже большой и я потерялся в дебагере или неправильно им пользуюсь) спасибо за совет
источник

A

Astar in learn.java
Gukov Viktor
>а что если мне надо проинициализировать по умолчанию каждый элемент массива?
Ты внутрь fill заглядывал? Там две строчки цикла
неа))
источник

A

Astar in learn.java
Dmitriy Shilnikov
У функций, которые делали бы то, что ты хочешь, вторым аргументом должна была быть функция в каком-то виде, т.е. что-нибудь типа java.util.function.Supplier
а это как к примеру?
источник