Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
34 / 11 / 6
Регистрация: 09.01.2018
Сообщений: 189

Как лучше хранить данные в коде?

09.01.2018, 06:26. Показов 3194. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, недавно начал изучать джаву и по старым привычкам пытаюсь пользоваться языком. А привычка такая - делать разного рода фабрики для объектов, но под каждую настройку надо хранить где-то данные и я не понимаю как лучше это сделать.

То есть условно нужно сделать массив с настройками, чтобы можно было удобно пополнять его и читать, а потом по ним создавать объекты. Как в Java это принято делать?

В ПХП это выглядело бы примерно так
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
class f{
    static protected
        $list=["cars"=>[
            "class"=>"Cars",
            "attrs"=>["1",2,3],
        ],
    ];
    static public function createCar(){
        return new self::$list["cars"]["class"](self::$list["cars"]["attrs"]); 
    }
};
f::createCar();


Я попробовал делать сложные структуры с помощь HashMap, но добавление больших списков прямо фу :/

Может JSON или XML? Какими инструментами? Я не очень ещё ориентируюсь. Надо чтобы часть данных хранилось прямо в классе и потом во время рантайм список пополнять снаружи.

2) И в догонку. Хотел попробовать динамически создавать поля чтобы хранить данные, но не получается
Object test=new Object(){
public Object val="test";
};
System.out.println(test.val); // cannot find symbol
Почему такое не проходит? Джава не любит когда ей неизвестны переменные заранее или что-то я не так сделал?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2018, 06:26
Ответы с готовыми решениями:

Как и где лучше хранить текстовые данные
Мне нужно написать небольшую библиотеку, в которой будут храниться данные по книгам(автор, название и т.д.). В ней буду предусматривать...

Как лучше хранить данные
Здравствуйте, у меня есть лист товаров, каждый из них может иметь разные способы доставки. Как это все лучше хранить? Создать отдельную...

Как лучше хранить данные
В одной таблице или нет? есть 1) 50мил.строк 2) каждая строка занимает 3кб (т.е. выходит 150гиг база)

3
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
09.01.2018, 10:26
Цитата Сообщение от ezd Посмотреть сообщение
Надо чтобы часть данных хранилось прямо в классе и потом во время рантайм список пополнять снаружи.
все что надо хранить в классе, храните в его полях. Если надо значения полей загрузить из вне, можно использовать проперти файл. джсон тоже можно

Цитата Сообщение от ezd Посмотреть сообщение
И в догонку. Хотел попробовать динамически создавать поля
в джаве так не делают. Все поля объекта должны быть известны на этапе компиляции.
0
34 / 11 / 6
Регистрация: 09.01.2018
Сообщений: 189
09.01.2018, 22:01  [ТС]
все что надо хранить в классе, храните в его полях. Если надо значения полей загрузить из вне, можно использовать проперти файл. джсон тоже можно
А можно чуть подробнее? Я не очень в java пока. На сколько понял в пропертис файле простая структура а=123, а дерево настроек там не влезет как примере. А для JSON какую библиотеку использовать?

Как в Java вообще принято это делать?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
09.01.2018, 22:14
Цитата Сообщение от ezd Посмотреть сообщение
А для JSON какую библиотеку использовать?
jackson
yaml еще есть, тоже вроде читается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2018, 22:14
Помогаю со студенческими работами здесь

Как лучше хранить данные
Имеется клиент и сервер с БД. После авторизации клиент получает данные из БД. Данные приходят в виде текста ( примерно 30 000 строк )....

Конструктор угадайки - как лучше хранить данные?
Вобщем https://www.cyberforum.ru/vb-net/thread1625809.html Как то не захотелось делать это все на васике, ибо уже к 5 той формуле мне...

Как лучше хранить данные приложения, например, настройки
Здравствуйте. Прошу вашего совета: Разрабатываю приложение на c# (Windows Forms). Суть его(упрощенно) такова - есть определенные...

Как лучше хранить данные вида ключ - значение?
Программа должна работать с примерно 1000 записей вида ключ - значение, где ключ это что-то вроде уникального ID, а значение это число типа...

Как лучше хранить(шифровать) секьюрные данные в базе?
сабдж собственно. Если md5(), то как обратно разворачивать юзеру, в случае забывчивости или утери инфы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru