Scala呼叫Java類

2gua發表於2013-01-15

Scala可以很方便地跟Java互動,呼叫Java的類,先舉例如下:

// Scala呼叫Java類

import java.util.{Date, Locale}
import java.text.DateFormat._

object ChineseDate {
   def main(args: Array[String]) {
       val now = new Date
       val df =getDateInstance(LONG, Locale.CHINESE)
       println(df format now)
   }
}

執行:

D:\DEV\Scala>scalac ChineseDate.scala

D:\DEV\Scala>scala ChineseDate
2013年1月15日

描述如下:

  1. Scala的import語句與Java的非常相似,但是更加強大。可以使用大括號匯入同一個包裡的多個類;
  2. 當匯入一個包中所有的類或者符號時,你應該使用下劃線(_)而不是星號(*),星號在Scala中是一個有效的識別符號(例如作為方法名稱);
  3. 在main函式中,我們首先建立了一個Java的Date例項,這個例項預設會包含當前時間;
  4. 靜態函式getDateInstance定義了日期格式;
  5. 最後一行程式碼顯示了Scala的一個有趣的語法,只有一個引數的函式可以使用df format now這樣的表示式來表示,其實就是df.format(now)這個冗長的表示式的簡潔寫法。

Scala中可以直接繼承或者實現Java中的介面和類。

[附]:Sublime Text 2中程式碼格式化快捷鍵設定
本程式碼在Sublime Text 2中編輯,Sublime Text 2的程式碼格式化功能可以從選單選擇操作:
Edit -> Line -> Reindent
但沒有快捷鍵,這很不方便的。我們可以新增快捷鍵設定,如下,加上粗體一行:
Preferences -> Keybindings-User:
[
{"keys": ["Ctrl+."], "command": "reindent"}
]

enter image description here enter image description here

相關文章