Да, только IMHO это не совсем правильное использование generic'ов. Дженерики призваны обеспечить type safety, а в данном примере оно явно нарушается. К тому же в имплементации get ты получишь type safety warning, который ничем не оправдан. Этот подход простое замещение cast'а, т.е. ничем не отличается от (Boolean)item.get("active"), который, кстати, по крайней мере, не дает иллюзии безопасности.
это понятно - но меня привлекает сама форма :) Вот например два варианта записей: ((MyObject) item.get("myObject")).myMethod(); или item.get("myObject").myMethod(); или даже так MyObject myObject = item.get("myObject"); myObject.myMethod(); короче, больше вариаций, как стихи - появилась новая форма :)
Comments 5
Reply
Reply
Reply
Дженерики призваны обеспечить type safety, а в данном примере оно явно нарушается.
К тому же в имплементации get ты получишь type safety warning, который ничем не оправдан.
Этот подход простое замещение cast'а, т.е. ничем не отличается от (Boolean)item.get("active"), который, кстати, по крайней мере, не дает иллюзии безопасности.
Reply
Вот например два варианта записей:
((MyObject) item.get("myObject")).myMethod();
или
item.get("myObject").myMethod();
или даже так
MyObject myObject = item.get("myObject");
myObject.myMethod();
короче, больше вариаций, как стихи - появилась новая форма :)
Reply
Leave a comment