我有一個關於Java泛型的問題。如果我定義這樣的類:Java泛型總是用於收集
public Test<String> ...
這是否意味着我的類現在像Strings的集合類型一樣工作?例如,當看到它像這個List時,我知道它是一個字符串列表。 <>是否總是表示它是一個集合(一般意義,不是實際的集合類型)?
感謝,
我有一個關於Java泛型的問題。如果我定義這樣的類:Java泛型總是用於收集
public Test<String> ...
這是否意味着我的類現在像Strings的集合類型一樣工作?例如,當看到它像這個List時,我知道它是一個字符串列表。 <>是否總是表示它是一個集合(一般意義,不是實際的集合類型)?
感謝,
不。它只是表示您的類型使用String類型進行了參數化。有很多非集合泛型類型。例如,參見Callable<T>
,Future<T>
,Comparator<T>
。
你應該從頭開始:http://docs.oracle.com/javase/tutorial/java/generics/generics.html
長話短說:仿製藥是從收藏完全不同的概念。 Java集合自引入後就使用泛型,但仍然可以使用它們的非泛型版本。
不,它不!這隻意味着Test
用String參數化。
閱讀oracle tutorial爲了解泛型。
號做你的意思,你添加到extends Collection<T>
類聲明
你缺少基本的語言理論。開始閱讀[Java集合](http://docs.oracle.com/javase/tutorial/collections/index.html)和[Generics](http://docs.oracle.com/javase/tutorial/extra/ generics/index.html) – 2012-01-17 11:53:37
感謝所有的答案,我確實在oracle網站和一些其他站點上閱讀過java文檔,因爲大多數站點顯示泛型與集合一起使用,所以我在<>上被絆倒。 – Black20 2012-01-17 21:25:58