Вы могли бы хотеть экспериментировать с not-strictly-database решением как Репозиторий содержания Java реализация (например, Американский заяц Apache ) и использовать поисковую систему, созданную к тому же как Apache Lucene.
Это решение с соответствующими механизмами кэширования возможно привело бы к лучшей производительности, чем решение собственной разработки.
Однако я действительно не думаю, что в маленьком или приложении среднего размера Вы потребовали бы более сложной реализации, чем нормализованная база данных, упомянутая в более ранних сообщениях.
РЕДАКТИРОВАНИЕ: с Вашим разъяснением это кажется более востребованным для использования подобного JCR решения с поисковой системой. Это значительно упростило бы Ваши программы в конечном счете.
class SomeClass<T> {
private T data;
public SomeClass() {
}
public void set(T data_) {
data = data_;
}
}
Вы, вероятно, также захотите сделать сам класс общедоступным, но это в значительной степени буквальный перевод на Java.
Есть и другие различия между шаблонами C ++ и универсальными шаблонами Java, но ни одно из них не является проблемы для вашего примера.
Для этого в Java используются «дженерики»:
public class SomeClass<T> {
private T data;
public SomeClass() {
}
public void set(T data) {
this.data = data;
}
};
В Википедии есть хорошее описание дженериков в Java .
/**
* This class is designed to act like C#'s properties.
*/
public class Property<T>
{
private T value;
/**
* By default, stores the value passed in.
* This action can be overridden.
* @param _value
*/
public void set (T _value)
{
value = _value;
}
/**
* By default, returns the stored value.
* This action can be overridden.
* @return
*/
public T get()
{
return value;
}
}