这类似于这个问题: 如何在Java中将int []转换为Integer []?
我是Java的新手.我怎么能转换List<Integer>到int[]Java中?我很困惑,因为List.toArray()实际上返回一个Object[],可以强制转换为虚空Integer[]或int[].
现在我正在使用循环来执行此操作:
int[] toIntArray(List<Integer> list){
int[] ret = new int[list.size()];
for(int i = 0;i < ret.length;i++)
ret[i] = list.get(i);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
我相信有更好的方法可以做到这一点.
我认为java是纯面向对象的,但实际上并非如此.但我不知道为什么java不是纯粹的面向对象语言,请帮我找出原因.
我们在java中有包装类,比如Interger,Float ..为什么它仍然是支持原语,它停止java是完全面向对象的语言?
虽然有很多与这个主题相关的问题,但不知何故我总觉得有些我不知道或说我对这些答案不满意,所以我在这里再次发布
Integer in=new Integer(4);
Character character=(Character) in; //Cannot cast from Integer to Character
String s="hello";
int j=(int) s;//Cannot Cast from string to int
char chi='a';
int l=(int)chi; //works
int i=0;
char ch=(char)i; //works
String b=(String)1+"hello";//cannot cast from int to string
Run Code Online (Sandbox Code Playgroud)
在第 2、第 4 和第 9 行中,它向我显示了注释错误,而我可以在注释行中进行int和char之间的转换 。
所以在我发布的代码中,编译器检查静态/动态行为并检查弱/强行为。
我相信这些问题的答案一定有很多,所以如果有的话,请发布链接,否则详细的解释将非常可观。
是什么让我困惑