在括号中键入名称

时间:2014-03-26 06:08:00

标签: java collections casting

不确定我应该怎么称呼它,但这是我遇到过的一段代码。

ArrayList<String> c1 = (ArrayList<String>)(Collection1.clone());
c1.addAll(collection2);

这两个方括号(ArrayList<String>)(Collection1.clone())做了什么?

感谢。

3 个答案:

答案 0 :(得分:1)

(ArrayList<string>)(Collection1.clone());

相同

(ArrayList<string>) Collection1.clone();

您正在将返回的对象从Collection1.clone()转换为ArrayList<String>。第二组()Collection1.clone()左右是多余的。

答案 1 :(得分:0)

这称为强制转换,即Collection1.clone()的结果将转换为ArrayList<string>类型。

答案 2 :(得分:0)

(ArrayList<string>)(Collection1.clone())

 ^^^^^^^^^^^^^^^^          ^^^^^^^^^^^
 Type of Cast           Object to cast

这是显式类型转换。第一个括号包含要转换的类型,第二个括号包含要转换的实际对象。