Описание тега defensive-copy
2
ответа
Добавить защитную копию объекта в хешсет
В настоящее время у меня есть этот код: public final class Tutor { private String name; private final Set<Student> tutees; public Tutor(String name, Student[] students){ this.name = name; tutees = new HashSet<Student>(); for (int i = 0; …
24 май '17 в 14:29
3
ответа
Можно ли сделать этот класс более неизменным?
package main; import java.util.Collections; import java.util.HashSet; import java.util.Set; public final class Tutor { private final String name; private final Set<Student> tutees; public Tutor(String name, Student[] students) { this.name = na…
20 авг '15 в 02:44
3
ответа
Создание общей копии Set<String> в конструкторе
Я не нашел прямого ответа на этот конкретный вопрос, так что... Предположим, класс: class MyClass { private final Set<String> tags; MyClass(Set<String> initialTags) { this.tags = ???(initialtags); } } Я просто хочу копию, не заботясь о т…
02 ноя '12 в 09:23
1
ответ
Правильный способ создания защитной копии пользовательского класса
У меня есть следующий класс: public class FolderAgent { public string directoryName {get; private set; } public int numberofdirectories {get; private set; } public int numberofFiles {get; private set;} public DirectoryInfo [] directories {get; priva…
17 фев '16 в 15:41
4
ответа
Инкапсуляция изменяемого объекта в объект только для чтения
В настоящее время я внедряю итерационные решатели, которые последовательно улучшают оценку решения конкретной проблемы. Поскольку решение представляет собой довольно большой набор данных, уточнение выполняется на месте. Я реализовал простой шаблон O…
11 авг '11 в 10:51
2
ответа
Относительно неизменного класса защитного копирования
У меня есть вопрос относительно создания неизменяемого класса. Ниже приведены моменты, которые я принимаю во внимание: Сделать финал класса Сделайте все члены окончательными, установите их явно, в статическом блоке или в конструкторе Сделайте всех у…
17 авг '12 в 06:14
3
ответа
'Collections.unmodifiableCollection' в конструкторе
Время от времени во время проверки кода я вижу конструкторы, подобные этому: Foo(Collection<String> words) { this.words = Collections.unmodifiableCollection(words); } Это правильный способ защиты внутреннего состояния класса? Если нет, каков и…
28 янв '16 в 20:52
2
ответа
Защитное копирование Objective-C в методах доступа
Исходя из опыта Java, у меня возникли проблемы с поиском способов защитного программирования в Objective-C.Предполагая, что SomeClass является изменяемым и предоставляет метод копирования, это типичный фрагмент кода, который я написал бы на Java: pu…
05 янв '13 в 18:49
2
ответа
Неэффективность защитной копии в Java
Я давний программист C/C++, который изучает Java. Я читал о проблеме нарушения инкапсуляции с помощью метода доступа, который возвращает ссылку на приватное поле. Стандартное решение Java кажется защитным копированием - вызывая конструктор копирован…
05 окт '13 в 00:40
1
ответ
Передача неизменного списка в ImmutableList.copyOf()?
У меня есть следующий код: private static final ImmutableMultimap<String, String> namesToAddress; public static List<String> getAddresses(String name){ return ImmutableList.copyOf(namesToAddress.get(name)); } Мой вопрос заключается в том…
14 апр '16 в 17:19
0
ответов
Как заставить MyBatis работать с защитными копиями?
Давайте предположим эту простую схему: create table User ( identity BIGINT UNSIGNED, PRIMARY KEY (identity), name VARCHAR(32) NOT NULL); create table Role ( identity BIGINT UNSIGNED, PRIMARY KEY (identity), name VARCHAR(32) NOT NULL); create table U…
30 мар '12 в 16:26
5
ответов
Вставка LinkedList привязана к вставленному объекту
У меня есть код, который выглядит так: public class Polynomial { List<Term> term = new LinkedList<Term>(); и кажется, что всякий раз, когда я делаю что-то вроде term.add(anotherTerm)с другими объектами Term, являющимися... другим объекто…
06 май '10 в 06:53
0
ответов
Защитная копия потоков и процесса
У меня Process proc запуск которого мне нужно уничтожить и воссоздать в случае ошибки. Это связано с проблемой отправки команд через stdin процессу, которую он не может устранить. Мой обходной путь - сбросить построенное мной "соединение" (stdin, st…
26 ноя '12 в 21:58
1
ответ
Создайте защитную копию в конструкторе
Ниже приведен только пример кода для объяснения проблемы, которую я не могу понять: Допустим, у меня есть следующий класс профессора, обратите внимание на публичных получателей и установщиков: public class Professor { public string id {get; set; } p…
18 фев '16 в 01:01
1
ответ
Защитное копирование в терминах ссылочного параметра в конструктор
Может кто-нибудь, пожалуйста, скажите мне, что такое защитное копирование с точки зрения ссылочного параметра в конструктор класса в JAVA Спасибо оооочень большое
02 июн '13 в 02:06
0
ответов
Есть ли аннотация lombok (или любая другая аннотация), которая включает защитное копирование?
То, что я хочу быть в состоянии сделать это: public Employee getEmployee() { return new Employee(employee); } Так что это похоже на это public List<String> getList() { return new ArrayList<>(list); } Так что, если я этого хочу, мне приде…
26 ноя '18 в 05:31
2
ответа
Как сделать класс java неизменным, если в нем есть переменная-член другого пользовательского класса?
Недавно в интервью для роли Java Developer меня спросили, как сделать Class A неизменным, если у него есть переменная-член, которая является объектом Class B, и в ситуации, когда Class B является внешним по отношению к проекту и не может быть отреда…
30 ноя '15 в 18:36
2
ответа
Нарушение сонара:Security-Array хранится напрямую
Я пытаюсь изменить свои коды в моем приложении с помощью Sonar. Как это исправить и почему? Благодарю. public class BeanResultSetHandler<T> extends BasicResultSetHandler<T> { T instance; Class<T> clas; Object[] selectFields; /** * …
26 окт '15 в 13:03
1
ответ
Обменять коллекцию защитной копией
Вот пример, который я видел в книге по эффективному C#: private BindingList<PayrollData> data; public IBindingList MyCollection { get { return data; } } public void UpdateData() { // Unreliable operation might fail: var temp = UnreliableOperat…
23 авг '11 в 21:34
4
ответа
Нужно ли защищенное копирование для построения неизменяемого класса с * не окончательными *, хотя неизменяемыми полями?
Не следует раскрывать ссылку на не конечное поле, если вы хотите создать неизменяемый класс - но даже для неизменяемых объектов, таких как Strings? public final class Test { // Test class is meant to be immutable private String s; // CAN'T MAKE THIS…
30 ноя '13 в 15:09