haocheng 積分 0 編輯於

這裡有相關的問卷: Local Variable Type Inference for Java1

看來有幾種選項,我個人是比較喜歡 var/val 啦,就像 Scala/Kotlin 一樣

這是文章的子討論串,你可以回到上層查看所有討論和文章
popcorny 積分 1

java keyword不是有const嗎? 拿來這邊用不是剛剛好

Link1

IngramChen 積分 0

我覺得 final 比較好,因為在 java 裡比較好認。

  var barList = new ArrayList<String>();
  final fooList = new ArrayList<String>();

var/val 雖然有很多優點,短,而且一樣長,但這兩個字實在太像了,可讀性有點差。當然可以靠 IDE 上不同色來解決啦…

haocheng 積分 0

用 final 也不錯,不過這樣 final 有兩種不同寫法好像又怪怪的

popcorny 積分 0 編輯於

其實想想也不用那麼複雜

var barList = new ArrayList<String>();
final var fooList = new ArrayList<String>();

這樣跟

ArrayList<String> barList = new ArrayList<>();
final ArrayList<String> fooList = new ArrayList<>();

一致不也挺好?

var就特別拿來用在type inference, final就來決定是不是可被assign

IngramChen 積分 0

因為 這次是個 reboot 的機會,所以會想要一次到位把它搞定吧。參照別的語言 val/var/let 都用的很爽,我想 Java 也可以選擇比較簡潔的寫法。

我猜最後定案時大概是 val/var。哈