-1

我是java新手。我想知道<> java中的用途。

这是我感到困惑的一个例子: List<File> sourceFileList = new ArrayList<File>

4

10 回答 10

4

<>是持有通用类型的占位符。您将类型参数嵌入尖括号中。

List<File> sourceFileList = new ArrayList<File>

上面的代码描述了您的 List 只能具有File类型的实例。它提供编译时类型安全。您只能将文件/子类型的文件对象添加到列表中。

       sourceFileList.add(new File("test.txt"));
       sourceFileList.add("abc");// compiler error as your
                                  list only accepts File instances

链接:

于 2013-02-25T09:38:18.463 回答
1

它是 1.5 版中引入的 Java 泛型的一部分。

以下链接可能有用:http ://docs.oracle.com/javase/tutorial/java/generics/

于 2013-02-25T09:38:58.957 回答
1

<> 通常用于 java 中的通用数据类型。

所以这里的 List 意味着你有一个文件列表。

所以如果你写 List<Person> 它将成为人员列表。因此,您可以将 <> 中的文本替换为任何类的对象。

于 2013-02-25T09:40:06.870 回答
0

列表的数据类型。例子:

ArrayList<String> yourArrayList = new ArrayList<String>;

它将你声明ArrayList为一个字符串。yourArrayList.get(index).toString();您可以使用yourArrayList.get(index);并将返回一个String(在此示例中)并且仅接受数据类型,而不是使用String

于 2013-02-25T09:42:16.263 回答
0

Java泛型(不要与C++ 模板混淆)。它允许您在定义泛型类时定义类型。

在你的情况下,List<File>你有一个 List 包含类型的状态File

于 2013-02-25T09:39:05.470 回答
0

你应该看看java泛型教程:

http://docs.oracle.com/javase/tutorial/java/generics/

如果你真的喜欢它,请查看 java 语言规范,特别是关于泛型的部分:

http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.1.2

于 2013-02-25T09:39:47.530 回答
0

在您的示例中, <> 用于实例化ArrayList对象File。<> 仅指定 ArrayList 包含的对象类型

于 2013-02-25T09:40:10.320 回答
0

泛型...

我们将 String 对象存储在数组列表中,为了检索对象,我们必须对它进行类型转换。只有程序员知道他在 ArrayList 中存储了哪些对象,因此他负责将其类型转换为所需的类型。如果,他错误地将其转换为错误的类型怎么办?

Java 代码:

System.out.println((Integer)myArrayList.get(3));

错误:线程“main”中的异常 java.lang.ClassCastException: java.lang.String

为了避免这种情况,泛型开始发挥作用。我们可以指定 List 的类型,以便 list 只能保存或存储该类型的对象。一些其他类型的对象不会存储到列表中,因此不需要类型转换。

Java 代码:

ArrayList<String> myArrayList = new ArrayList<String>();

myArrayList 不仅可以存储 'String 对象。确保了类型安全,现在程序员可以更好地控制数组列表。

当我们声明类或接口的实例时,类型在尖括号中指定。如果没有泛型,类型参数将被省略,但无论何时从列表中提取元素,都必须显式转换。

于 2013-02-25T09:40:16.000 回答
0

它是告诉编译器什么样的数据要进入对象。例如,List<File>告诉 java 你要创建一个 List 来填充 File 类型的数据。再举一个例子:Array<Integer>告诉java你想要一个你将用整数数据填充的数组。

于 2013-02-25T09:37:51.483 回答
0

如果你想把你的代码翻译成英文来阅读它,你可以在看到 <> 时说“of type”。

例如对于

List<File> sourceFileList 

说“文件类型列表,”sourceFileList“”

于 2013-02-25T09:40:58.753 回答