SCALA简介

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程
早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。

接下来,我们要来学习:

为什么要使用scala?
通过两个案例对比Java语言和scala语言


为什么使用Scala
开发大数据应用程序(Spark程序、Flink程序) 表达能力强,一行代码抵得上Java多行,开发速度快 兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq等等


Scala对比Java
下面通过两个案例,分别使用java和scala实现的代码数量


案例
定义三个实体类(用户、订单、商品)
Java代码


public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public List<Order> getOrders() {
    return orders;
}

public void setOrders(List<Order> orders) {
    this.orders = orders;
}
} ```

```java /** * 订单实体类 */ public class Order { private int id; private List products;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public List<Product> getProducts() {
    return products;
}

public void setProducts(List<Product> products) {
    this.products = products;
}
} ```

```java /** * 商品实体类 */ public class Product { private int id; private String category;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}
} ```

## scala代码
scala case class User(var name:String, var orders:List[Order])	// 用户实体类
 case class Order(var id:Int, var products:List[Product])	// 订单实体类 
 case class Product(var id:Int, var category:String) // 商品实体类












  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值