Java 如何处理类型擦除?
任务是 你被要求在一家烘焙面包房及其不同子类的公司执行安全审计,并将其装在一个漂亮的盒子里出售。在向客户发布之前,使用精心设计的NaiveQualityControl类检查所有框。最近发生了许多非面包店(如纸)包装在盒子里而未通过质量检查的案例 简单地看一下NaiveQualityControl,就可以得出这样的结论:为NaiveQualityControl提供一个装满可以通过QC的纸张的盒子是非常容易的,您的任务就是演示这一点。相关类别代码如下:Java 如何处理类型擦除?,java,Java,任务是 你被要求在一家烘焙面包房及其不同子类的公司执行安全审计,并将其装在一个漂亮的盒子里出售。在向客户发布之前,使用精心设计的NaiveQualityControl类检查所有框。最近发生了许多非面包店(如纸)包装在盒子里而未通过质量检查的案例 简单地看一下NaiveQualityControl,就可以得出这样的结论:为NaiveQualityControl提供一个装满可以通过QC的纸张的盒子是非常容易的,您的任务就是演示这一点。相关类别代码如下: /* This class and its s
/* This class and its subclasses should pass quality check */
class Bakery {}
class Cake extends Bakery {}
/* But this should not */
class Paper {}
您需要将实现添加到Violator.defraud()方法,该方法将执行以下操作:
根据方法签名创建框列表
将纸张对象至少放在列表中的一个框中
结果列表应通过NaiveQualityControl检查
我试着跟着
class Violator {
public static List<Box<? extends Bakery>> defraud() {
List<Box<? extends Bakery>> lbc = new ArrayList<Box<? extends Bakery>>();
Box<? extends Bakery> bb =lbc.get(0);
Paper p = new Paper();
bb.put(p);
return lbc;
}
违纪者{
公共静态列表我写的
public static List<Box<? extends Bakery>> defraud() {
List<Box<? extends Bakery>> lbc = new ArrayList<Box<? extends Bakery>>();
Paper p = new Paper();
try {
Box box = Box.class.newInstance();
box.put(p);
lbc.add(box);
}
catch(IllegalAccessException iae){}
catch(InstantiationException ie){}
return lbc;
}
public static list欢迎使用Stack Overflow。请学习Stack Overflow的工作原理,并阅读如何提高问题的质量。然后,您的问题将包含您拥有的源代码,其他人可以对其进行编译和测试。