我有一个问题,为什么Java原始数据类型不仅仅被称为“Java数据类型”或类似的东西?
答案 0 :(得分:18)
因为Java的数据类型多于primitives。原始数据类型是:
byte
short
int
long
float
double
boolean
char
非基元的数据类型是引用数据类型,它是对objects的引用。
一些例子是:
String
Integer
ArrayList
Random
JFrame
以下是两种类型之间差异的简单示例:
int i1 = 10;
Integer i2 = Integer.valueOf(10);
int i1
是原始数据类型int
的变量,原始int
值为10.
Integer i2
是一个参考数据类型为Integer
的变量,引用包含值Integer
的{{1}}对象。
答案 1 :(得分:13)
答案 2 :(得分:4)
区分它们和Objects。
答案 3 :(得分:2)
因为Java中有两类类型。
来自Java Language Specification, CHAPTER 4: Types, Values, and Variables:
Java编程语言的类型分为两类:基本类型和引用类型。基本类型(§4.2)是boolean
类型和数字类型。数字类型是整数类型byte
,short
,int
,long
和char
,以及浮点类型float
和double
。引用类型(§4.3)是类类型,接口类型和数组类型。还有一种特殊的null类型。对象(§4.3.1)是动态创建的类类型实例或动态创建的数组。引用类型的值是对对象的引用。所有对象(包括数组)都支持类Object
(§4.3.2)的方法。字符串文字由String
个对象(§4.3.3)表示。
答案 4 :(得分:1)
将它们与对象数据类型区分开来。
答案 5 :(得分:1)
因为reference types也可以被视为数据类型。基元被认为是价值类型。两者都可以被视为数据类型。
答案 6 :(得分:1)
要理解原因,我认为您需要查看除Java之外的编程语言。例如:
在C ++中,有原始数据类型(int
,double
等),构造数据类型(struct
等)和对象/引用类型。
在Ada中,存在原始数据类型,以及从基元类型派生的其他数据类型;例如范围类型。
因此,我的理解是Java数据类型被描述为“原始数据类型”,以将它们放入其他语言的上下文中。它们是“数据类型”,因为它们没有对象标识,并且它们是“原始的”,因为特定类型由Java语言定义(和基础)。
答案 7 :(得分:1)
对象也是变量,因此术语"原语"用于区分这些类型。
答案 8 :(得分:0)
非原始类型称为java引用类型,它们的名称以大写字母开头。例如:Integer,Float等。对于非原语,我们可以创建实例。