Scala快速入門簡介——(一)

scala簡介

scala是運行在`JVM`上的多範式編程語言,同時支持面向對象和麪向函數編程

早期,scala剛出現的時候,並沒有怎麼引起重視,隨着Spark和Kafka這樣基於scala的
大數據框架的興起,scala逐步進入大數據開發者的眼簾。scala的主要優勢是它的表達性

接下來,我們要來學習:

- 1.爲什麼要使用scala?
- 2.通過兩個案例對比Java語言和scala語言

1.爲什麼使用scala?

- 開發大數據應用程序(Spark程序、Flink程序)

- 表達能力強,一行代碼抵得上Java多行,開發速度快
- 兼容Java,可以訪問龐大的Java類庫,例如:操作mysql、
- redis、freemarker、activemq等等

2.scala對比Java

下面通過兩個案例,分別使用java和scala實現的代碼數量

案例

定義三個實體類(用戶、訂單、商品)
Java代碼
/**
 * 用戶實體類
 */
public class User {
    private String name;
    private List<Order> orders;

    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;
    }
}




/**
 * 訂單實體類
 */
public class Order {
    private int id;
    private List<Product> 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;
    }
}



/**
 * 商品實體類
 */
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代碼
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)  // 商品實體類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章