Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么会这样编译?
B 在 A 中使用,没有任何泛型参数,并且在 Java 中编译。这里发生了什么?
interface B<T> { public T Foo(T value); } public class A { public B What() { return null; } public void Foo() { B x = What(); x.Foo(123); } }
这是为了与 J2SE 5.0 之前的 Java 兼容。你应该得到一个 rawtypes 警告(注意编译器警告)。
你只是raw在这里使用一种类型B。就像
raw
B
List list = new ArrayList(); // defined as: public interface List<E>
完美,有效;虽然不推荐。