Пусть это, если условие:Создан ли экземпляр?
(ObjectA) request.getParameter("something") != null
Будет создан анонимный экземпляр ObjectA
?
Пусть это, если условие:Создан ли экземпляр?
(ObjectA) request.getParameter("something") != null
Будет создан анонимный экземпляр ObjectA
?
в request
уже есть экземпляр ObjectA
, если он не является нулевым. Поэтому новый экземпляр не будет создан.
вы хотите сказать, что в приведенном выше заявлении мы просто обращаемся к объекту, присутствующему в области запроса. Что делать, если я добавляю 'Object b =' перед условием? –
будет отображаться ссылка на существующий экземпляр объекта – jBeenenga
Мне интересно узнать о влиянии этого на процесс GC? Как будет увеличиваться или уменьшаться или без эффекта, на GC? в отношении работы, выполняемой GC. –
Нет, экземпляр не создается. Даже если метод возвращает некоторые объекты, он просто ссылается на ObjectA
. Экземпляр был создан request.getParameter()
.
Разработка, литье не создает новый экземпляр. это только ссылка назначена. Ниже приведен пример подсчета. Создается только один экземпляр. надеюсь это поможет.
class Parent1 { static int j; Parent1(){j++;} }
class Child extends Parent1{ static int i; Child(){i++;}}
// and the code
Parent1 pc = new Child();
System.out.println(Child.i);
System.out.println(Parent1.j);
Child p = (Child) pc;
System.out.println(Child.i);
System.out.println(Parent1.j);
Выход
1
1
1
1
Я не думаю, что ссылка на объект, возвращаемая 'request.getParameter (« something »)' casting, '(ObjectA) request.getParameter (« something »)! = Null' как запись' (ObjectA) true' или ' (ObjectA) false. Это должно быть 'if (request.getParameter (" something ")! = Null) {ObjectA Obj1 = (ObjectA) request.getParameter (" something ")}' –
Почему будет создан экземпляр ObjectA
, (ObjectA)
будет просто пытаться бросить возвращаемое значение из request.getParameter("something") != null
к типу ObjectA
.
request.getParameter("something")
, который возвращает объект, и вы просто бросая его ObjectA
, чтобы проверить его тип. Нет экземпляра/объекта.
Приходя к вашей фактической строки кода, вам не нужно слепок там просто
request.getParameter("something") != null
достаточно.
Я знаю, что именно поэтому я явно набираю его для 'Object A '. –
http://stackoverflow.com/questions/9066218/casting-an-object-of-a-superclass-into-an-object-of-a-subclass-creates-a-new-obj – assylias
Является ли это ' запрос '' HttpServletRequest'? –