一、数据类型
1.Java数据类型
Java基本类型:char、byte、short、int、long、float、double、boolean
Java引用类型:(对象类型)
Java基本类型的包装类:Character、Byte、Short、Integer、Long、Float、Double、Boolean
由于Java有基本类型,而且基本类型不是真正意义的对象,即使后面产生了基本类型的包装类,但是仍然存在基本数据类型,所以Java语言并不是真正意义上的面向对象。
注意:Java中基本类型和引用类型没有共同的祖先。
2.Scala数据类型
(1)Scala中一切数据都是对象,都是Any的子类。
(2)Scala中数据类型分为两大类:数值类型(AnyVal)、 引用类型(AnyRef),不管是值类型还是引用类型都是对象。
(3)Scala数据类型仍然遵守,低精度的值类型向高精度值类型,自动转换(隐式转换)。
(4)Scala中的StringOps是对Java中的String增强。
(5)Unit:对应Java中的void,用于方法返回值的位置,表 示方法没有返回值。Unit是一个数据类型,只有一个对象 就是()。Void不是数据类型,只是一个关键字。
(6)Null是一个类型,只有一个对象就是null。它是所有引用类型(AnyRef)的子类。
(7)Nothing,是所有数据类型的子类,主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。
二、运算符
Java 和Scala 中关于==的区别:
Java:
==比较两个变量本身的值,即两个对象在内存中的首地址;
equals 比较字符串中所包含的内容是否相同。
Scala:
==更加类似于 Java 中的 equals,参照 jd 工具。