首先,请先查看此文档:
http://htmlcleaner.sourceforge.net/doc/org/htmlcleaner/TagNode.html
它有一个名为:
的函数getAllElementsList(boolean isRecursive)。
它将返回一个叫做的东西:
列表
好的,当我查看“List”的文档时,我检查一下: http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html
这是一个界面:
public interface List<E> extends Collection<E>
我的问题是......它扩展了我的作用是什么?他希望我有一个实现List接口的对象可以用作返回类型吗?
此外,<E>
是什么意思?谢谢。
答案 0 :(得分:6)
接口始终是首选的返回类型,因为代码可以稍后切换到另一个实现(例如,优化性能),但所有客户端代码将继续工作。
<E>
是generic definition,使用List
时,您可以指定要保留的对象类型。例如List<String>
。这确保了在使用列表元素时的编译时安全性。
答案 1 :(得分:1)
<E>
是通用集合元素名称。
返回&#34;列表&#34;是一种数据隐藏的形式&#34; - 你模糊了实际的实现,以便你可以改变它,并且他们不会硬编码依赖它。你真的要返回一些实现列表的东西,但是当你说你返回List时,你会返回一个接口而不是一个Type(这是一个设计原则)。
答案 2 :(得分:1)
该函数返回一个Object,其类实现List!而且,E是占位符。
答案 3 :(得分:1)
是的,您需要返回任何实现List<E>
的内容,例如ArrayList<E>
或LinkedList<E>
。
<E>
是一种通用类型,即您可以将其替换为具体的类或接口,例如List<Integer>
定义列表以仅包含Integer对象。
请注意,List
和List<E>
不同,前者禁用了泛型类型检查。如果该方法具有返回类型List
,那么它很可能是旧代码,或者出于兼容性原因而在1.5之前使用Java。现在你最有可能使用List<?>
作为返回类型,如果这无关紧要。
答案 4 :(得分:1)
是的,它返回一个实现接口List的对象。 ArrayList就是一个例子。
E是列表将包含的对象的类型。
也许下面的代码可以为您提供更多帮助。
List<String> lString = new ArrayList<String>();
lString.add("test1");
lString.add("test2");