public interface View{...
public interface Control<V extends View>{...
public class RemoteControl<C extends Control<V extends View>> implements Control<V>{...
给了我一个“语法错误令牌‘扩展’,预计”上“V扩展视图”为REMOTECONTROL类。通用泛型:伸出“令牌语法错误‘’,预计”
我想下面的选择是可能的
public class RemoteControl<C extends Control<V>,V extends View> implements Control<V>
{...
不过我不知道如果这不能更含蓄的方式来完成,因为后者将需要查看的冗余声明。即:
public class TVRemoteControl extends RemoteControl<TVControl,TvView> implements TVControl{...
VS
public class TVRemoteControl extends RemoteControl<TVControl> implements TVControl{...
也许我只是停留在一个盒子里再次,但有可能获得“通用泛型”在一个更优雅的方式
我试图想出一个解决方案,但我想你已经说过了:它不能按照你想要的方式完成,你必须按照后面描述的方式来完成。尽管我在这里找不到任何关于你的问题的线索,但我会把你推荐给这个有用的站点:http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html – Sentry 2013-02-19 09:12:24
'public class RemoteControl>'。对于遥控器来说,真的很重要远程控制的控制器正在使用哪种视图? –
SpaceTrucker
2013-02-19 09:27:17
我对所有java泛型问题都表示同情...... – hbhakhra 2013-02-19 19:32:49