草庐IT

java - 通过 varargs 参数可能造成的堆污染

我了解Java7在使用泛型类型的可变参数时会发生这种情况;但我的问题是..当Eclipse说“它的使用可能会污染堆”时,究竟是什么意思?还有新的@SafeVarargs注释如何防止这种情况发生? 最佳答案 堆污染是一个技术术语。它指的是类型不是它们指向的对象的父类(superclass)型的引用。ListlistOfAs=newArrayList();ListlistOfBs=(List)(Object)listOfAs;//pointstoalistofAs这可能导致“无法解释的”ClassCastExceptions。//ift

java - 通过 varargs 参数可能造成的堆污染

我了解Java7在使用泛型类型的可变参数时会发生这种情况;但我的问题是..当Eclipse说“它的使用可能会污染堆”时,究竟是什么意思?还有新的@SafeVarargs注释如何防止这种情况发生? 最佳答案 堆污染是一个技术术语。它指的是类型不是它们指向的对象的父类(superclass)型的引用。ListlistOfAs=newArrayList();ListlistOfBs=(List)(Object)listOfAs;//pointstoalistofAs这可能导致“无法解释的”ClassCastExceptions。//ift