描述基本类型数据的类版本

时间:2010-05-08 14:52:50

标签: java

请告诉我一些......

解释为什么java具有原始数据类型的类versios?描述原始java类型的类版本并显示优缺点? expalin为什么原始java类型的类版本可用,但为什么原始类型仍然经常使用? expalin如何将原始和非原始数据类型作为参数传递给java中的方法,以及它如何影响更改传递的数据的值?

原始数据类型有:int,float,char,long,short,byte,boolean和double。

2 个答案:

答案 0 :(得分:2)

对于每个Java原语,都有一个相应的对象:

  • byte => java.lang.Byte
  • short => java.lang.Short
  • int => java.lang.Integer
  • long => java.lang.Long
  • float => java.lang.Float
  • double => java.lang.Double
  • char => java.lang.Character
  • boolean => java.lang.Boolean

这个问题要求你证明这些Java Wrapper Classes的存在是合理的,而且 - 已经这样做了 - 也证明了原始类型的存在。什么时候使用原始类型,何时使用包装类?

答案 1 :(得分:0)

以下是一些基本要点。这不是一个全面的列表,只是一些让你入门的想法。在我谈论整数时,同样的推理适用于double / Doublechar / Character,& c。

  • 这样的理由不仅仅是传统。 Java被设计为以多种方式与C / C ++类似;这些语言与其数字表示具有相似的原语。
  • 原始int比对象Integer更轻 - 即更小 - 。 Integer必须包含与基元相同的数值信息;实际上,它将数字存储在私有int变量中!并且它还需要支持一些原始人无需处理的方法。
  • 原始int比对象Integer快。这与最后一点有关;在幕后创建Integer对象比创建原始int要多得多。
  • 有些情况下您不允许使用基元。如果你想用数字填充一个链表,并决定使用Java内置LinkedList,它希望你用对象制作列表。

您可能会从阅读“autoboxing”,“通过Java中的值传递”和“Java中的垃圾收集”中获益,仅举几个主题。这是一个让你入门的链接:the Java Language Specification section on primitives,后面有关于引用类型的部分 - 即对象。