|
|
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Добрый день! Я новичок в Jave, столкнулся со странной проблемой в Spring фреймворке не могу установить значения элементов массава в классе Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: java 1. 2. 3. 4. 5. 6. 7. проблема с setStatus_id, не понимаю как записать значение в массив ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 18:04 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De., Это не Spring framework, а Spring MVC Можно попробовать, например, так http://stackoverflow.com/a/16297091 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 18:37 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Добрый день! Код: java 1. 2. 3. 4. 5. 6. 7. проблема с setStatus_id, не понимаю как записать значение в массив getStatusMass(status_mass.getLogin_id()[i]) .... прекрасно работает, а вот как правильно написать set не понятно .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 18:47 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De., Так то Spring тут не причем .... как в обычной Java делается установка элементов массива в классе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 19:37 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Так то Spring тут не причем ... Да? А топикастер так не считает: Sergey De.столкнулся со странной проблемой в Spring фреймворке Sergey De.. как в обычной Java делается установка элементов массива в классе? Точно так же как и установка массива вне класса. У вас код Во-первых не понятно что делает. Во-вторых не следует общепринятым стандартам именования. В-третьих жутко нарушает инкапсуляцию. setStatus_id() присваивает значение одной и той же переменной - ссылки на массив. Внимание вопрос. Зачем этот метод вызывать N раз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 20:41 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
BlazkowiczSergey De.Так то Spring тут не причем ... Да? А топикастер так не считает: Sergey De.столкнулся со странной проблемой в Spring фреймворке Sergey De.. как в обычной Java делается установка элементов массива в классе? Точно так же как и установка массива вне класса. У вас код Во-первых не понятно что делает. Я хочу просто в цикле заполнить массив результатом функции. BlazkowiczsetStatus_id() присваивает значение одной и той же переменной - ссылки на массив. Внимание вопрос. Зачем этот метод вызывать N раз? Утрирую ...... for(int i = 0; i < 5; i++) { status_mass.setStatus_id(i*7)[i]); // Как правильно обратиться к элементам массива? } BlazkowiczВ-третьих жутко нарушает инкапсуляцию. А что с ней не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2015, 21:08 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Я хочу просто в цикле заполнить массив результатом функции. Для начала, массив не плохо было бы создать. И возникает логичный вопрос, если у вас два массива, то почему переменная-индекс используется только один раз? Sergey De.Утрирую ...... for(int i = 0; i < 5; i++) { status_mass.setStatus_id(i*7)[i]); // Как правильно обратиться к элементам массива? } Не бойтесь создавать локальные переменные. Без них вы даже сами свой код не можете понять, что уж другим. Sergey De.А что с ней не так? Сторонний класс-контроллер достаёт внутреннее состояние объекта класса Status_mass чтобы затем обновить это же внутренне состояние. Если метод полностью или частично унести в Status_mass, то код станет сильно проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 09:45 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De., А ещё если ваш репозиторий это вдруг база данных, то вместо того чтобы сделать 1 запрос, вы делаете их N, для каждого элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 09:49 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De., твоя ситуация очень печальна. Она печальна тем что ты не знаешь основ. Возможно ты и будешь кодить в среде Spring, но будешь постоянно бит и обижаем. Почитай про массивы и коллекции в java. И разберись в чём разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 11:39 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
maytonSergey De., твоя ситуация очень печальна. Она печальна тем что ты не знаешь основ. Возможно ты и будешь кодить в среде Spring, но будешь постоянно бит и обижаем. Почитай про массивы и коллекции в java. И разберись в чём разница. Я понимаю что я мальчик для битья, а что делать, иногда приходится и таким быть. Читать основы надо, времени не хватает, давно надо было на Java переходить с десктоп разработок, а я все тянул и тянул ... Сейчас приходит семимильными шагами наверстывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 12:59 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
BlazkowiczSergey De., А ещё если ваш репозиторий это вдруг база данных, то вместо того чтобы сделать 1 запрос, вы делаете их N, для каждого элемента. Согласен, пробовал делать через IN в SELECT не получилось, формировал в строке все передаваемые значения в массиве и пихал в SELECT. BlazkowiczДля начала, массив не плохо было бы создать. И возникает логичный вопрос, если у вас два массива, то почему переменная-индекс используется только один раз? Просто не вижу необходимости, т.к. элементы соответствуют входящим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 13:03 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Читать основы надо, времени не хватает, давно надо было на Java переходить с десктоп разработок, а я все тянул и тянул ... Сейчас приходит семимильными шагами наверстывать Ой, хорош врать. Методы (функции), и массивы в большинстве ООП языков одинаковые. 1) Вы не создали массив. 2) Вы вызываете метод с одним типом аргумента, а передаёте ему значение другого типа. Начните с изучение рефакторинга Introduce Variable. Когда эта лапша будет набором понятных переменных, вопросов сразу станет меньше. Код: java 1. 2. 3. 4. 5. 6. 7. 8. Настоятельно рекомендуется к прочтению книжки Clean Code и Refactoring: Improving the Design of Existing Code. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 13:17 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
[quot Blazkowicz]Sergey De.Ой, хорош врать. Методы (функции), и массивы в большинстве ООП языков одинаковые. да согласен .... лох я ... Blazkowicz1) Вы не создали массив. Он же создается автоматом в контролере public Status_mass getStatusMass (@RequestBody Status_mass status_mass) { первый массив класса передается из запроса, второй заполняется в результате обращений к БД Blazkowicz2) Вы вызываете метод с одним типом аргумента, а передаёте ему значение другого типа. Правильно .... вот поэтому я и спрашивал, как можно сделать set в определенный элемент массива Blazkowicz Код: java 1. 2. 3. 4. 5. 6. 7. 8. Сенк, ну я дупель, думал же что надо сначала заполнить, а потом сделать set ... баран я А как все же минимизировать количество запросов к БД, пробовал делать через IN в SELECT не получилось ругается на не соответствие типов. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 19:05 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.второй заполняется в результате обращений к БД А что заполнять, когда заполнять нечего? Объявление переменной это ещё не создание экземпляра массива. Sergey De.Правильно .... вот поэтому я и спрашивал, как можно сделать set в определенный элемент массива Вариантов не много 1й. Добавить метод, который устанавливает значение в указанный элемент массива. 2й. Получить ссылку на массив и поместить значение в желаемый элемент массива. метод setStatus_id устанавливает ссылку на массив и ни к первому ни к второму варианту отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 09:55 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)] С этим вопросом всё очень сложно. Нельзя список значений передать одним параметром запроса. Нужно динамически сгенерировать запрос в котором количество параметров будет совпадать с количеством значений, которые мы хотим передать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 09:57 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
BlazkowiczSergey De.Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [1,2,3,0] did not match expected type [java.lang.Long (n/a)] С этим вопросом всё очень сложно. Нельзя список значений передать одним параметром запроса. Нужно динамически сгенерировать запрос в котором количество параметров будет совпадать с количеством значений, которые мы хотим передать. Я передаю не список, а строку, т.е. 1 параметр ... я так понимаю в JPA запрос не верно формируется из типов. А как можно сгенерировать запрос динамически в Репозитарии? Я так понял что с использованием JPA можно только статические простые запросы выполнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 12:30 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
Sergey De.Я передаю не список, а строку, т.е. 1 параметр ... Не важно что вы и куда передаёте. С точки зрения SQL и RDBMS запрос вида SELECT ... WHERE ... IN () имеет столько параметров сколько их перечислено в IN. Sergey De.я так понимаю в JPA запрос не верно формируется из типов. Наконец-то пошла конкретика. JPA должен уметь кушать список целиком: http://stackoverflow.com/a/4379008 Sergey De.А как можно сгенерировать запрос динамически в Репозитарии? Я так понял что с использованием JPA можно только статические простые запросы выполнять. Spring Data и JPA это не слова синонимы, а два отдельных решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 12:39 |
|
||
|
Массивы в Java классе
|
|||
|---|---|---|---|
|
#18+
BlazkowiczSergey De.А как можно сгенерировать запрос динамически в Репозитарии? Я так понял что с использованием JPA можно только статические простые запросы выполнять. Spring Data и JPA это не слова синонимы, а два отдельных решения. Я бы сказал, что spring-data это обертка над JPA. А так динамические запросы в Spring-Data делаются ч/з Specification. Чем-то смахивает на Criteria API. Хотя простые запросы в репозитории есть by default. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 14:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39080881&tid=2124791]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 507ms |

| 0 / 0 |
