Объявление класса класса путем отправки его как параметра нестационарного метода в другой. Основная проблема. В одном методе я отправляю поле класса как параметр в другое, чтобы проверить его и назначить ему в новый экземпляр. Но, вместо вызова по ссылке, он вызывает его по вызову. Как я могу это исправить?Назначить поле класса другим способом
class Foo{
private volatile static Set field;
void bar(){
loadSet(Foo.field);
.... <------ at that line after loadSet field is null
}
void loadSet(Set instance){
if(instance == null){
instance = Operation.getInstance(); // <--- getInstance returns new instance
}
}
}
Я не хочу loadSet и барные методы статичными из-за проблемы с производительностью, то есть не нарушающие чистое распараллеливания.
Я знаю, что метод addAll, но в моем реальном коде я использую стороннюю библиотеку и возвращает IPos типа экземпляра. Кроме того, у IPos нет метода клонирования, копирования или addAll. Я использовал Set для простоты.