Scala与Java的异同

1 篇文章 0 订阅
本文探讨了Java和Scala两种编程语言在数据类型上的差异,Java拥有基本类型和引用类型,而Scala中一切都是对象。Scala的数据类型分为数值类型和引用类型,并支持隐式转换。对于运算符,Java的"=="比较对象引用,而Scala的"=="更接近于Java的equals,比较内容。
摘要由CSDN通过智能技术生成

一、数据类型

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数据类型

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 工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值