将 Java 编译器更改为自动转换是否有任何缺点或潜在问题?在下面的示例中,list.get(0) 的结果将自动转换为变量 hi 的类型。
List list = new ArrayList();
list.add("hi");
String hi = list.get(0);
我知道泛型允许您减少强制转换,但它们这样做的代价是使声明更加困难。对我来说,泛型的好处是它们允许你让编译器执行更多规则——而不是它们减少强制转换(但我没有太多使用它们,所以我有点不了解)。这个提议只会减少要输入的代码量,而不是把它移到另一个地方。还有一些实例不能使用泛型,因为集合可以有不同的对象。如果基于当前使用情况“看起来太令人惊讶”,则可能需要进行语法调整来使用它。
来自:http: //jamesjava.blogspot.com/2007/01/automatic-casting.html