kan*_*arp 1 java primitive types
为什么在java中使用原始类型而不是Wrapper类?我想知道我们已经在java中有包装类,那么为什么我们需要使用原始类型?java中原始类型的重要性是什么?
你的问题是倒退的.原始类型比它们的包装器更基础.
包装器给你的唯一有用的东西是能够被视为Object的子类(这样它们就可以被放入集合中等等).所有真正有用的东西(比如算术和排序)都是由原始类型提供的.
请注意,虽然您可以说:
Integer i = Integer.valueOf(4);
Integer j = Integer.valueOf(2);
Integer k = i + j;
Run Code Online (Sandbox Code Playgroud)
这只是一个方便.在下面,最后一行变成了:
Integer k = Integer.valueOf(i.intValue() + j.intValue());
Run Code Online (Sandbox Code Playgroud)
以便算术发生在原始值上.(这种便利性称为装箱/拆箱.)这会对性能造成损失,因此在我的机器上,这个循环:
for (int i=0; i<10000000; i++) { }
Run Code Online (Sandbox Code Playgroud)
比这个循环快大约10倍:
for (Integer i=0; i<10000000; i++) { }
Run Code Online (Sandbox Code Playgroud)