Использование переменных private и no setter методов будет работать для примитивных типов данных. Если у моего класса есть какой-либо набор объектов?
Чтобы сделать какой-либо класс неизменным с объектом коллекции?
Напишите свой собственный объект коллекции с расширением класса коллекции и следуйте за частными переменными и без методов настройки , или вернуть клон объекта вашего объекта коллекции.
public final class Student {
private StudentList names;//Which is extended from arraylist
public Student() {
names = DAO.getNamesList()//Which will return All Student names from Database its upto you how you want to implement.
}
public StudentList getStudentList(){
return names;//you need to implement your own methods in StudentList class to iterate your arraylist; or you can return Enumeration object.
}
public Enumeration getStudentNamesIterator(
Enumeration e = Collections.enumeration(names);
return e;
}
public class StudentList extends ArrayList {
}