J.P*_*J.P 3 java casting variadic-functions
我现在正在学习java中的Varargs.我写了这个方法:
public static void vrati(Object... arguments){
for(Object i : arguments)
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
然后我打电话给方法:
main.vrati(8,2,"String");
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:varargs是否将原始类型转换为对象?因为我在这个方法调用中混合了int和String,并且可以像一个对象一样访问它们.
所以我的问题是varargs将原始类型转换为对象吗?
它转换为数组的类型.如果你有
a(int... ints)
Run Code Online (Sandbox Code Playgroud)
他们会 int
如果你有
b(double... doubles)
Run Code Online (Sandbox Code Playgroud)
即使你写作,他们也将是双打的 b (1, 2.0f, 10L)
如果你有
c(Object... obj)
Run Code Online (Sandbox Code Playgroud)
它将autobox原语.这不是var-args的一个特性,但无论如何都要根据需要对类型进行自动装箱.
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |