Scala ListBuffer使用備忘

    最近在學習Scala,在使用可變長度List 時,得知可以使用 scala.collection.mutable.ListBuffer ,在需要的時候可以使用append方法,但是由於剛接觸Scala,對其中的一些細節不再注意,導致在使用ListBuffer時被一個小錯誤搞得團團轉,下面對我的錯誤進行說明,在此備忘,也希望能幫到跟我一樣的新手。

  我知道需要導入scala.collection.mutable.ListBuffer,故我在前面導入了:

import scala.collection.mutable.ListBuffer

   在使用之前,先聲明一個ListBuffer變量,通過一下代碼:

val buf = new ListBuffer()
   接着在需要的時候,進行追加,fn爲字符串:

buf.append(fn)

不知此時,你是否已經發現了問題所在?嘿嘿,希望你不要像我一樣犯錯。其實,上面的這行代碼會在編譯的時候報錯的。我是使用Idea編輯器,在輸入完上面一行代碼後,就已經開始提示我有錯了,錯誤是:Type  mismatch expected:Nothing actual:String

我當時看了兩天,也查了API 文檔,硬是沒發現其中的問題。後來查資料的時候,偶然發現,原來是ListBuffer 聲明的時候忘記指定ListBuffer的類型了。

val buf = new ListBuffer[String]
使用上面這一行代碼進行聲明,就不會有錯啦!終於找到原因了,居然被這一個小小的錯誤折騰了兩天哭

發佈了73 篇原創文章 · 獲贊 40 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章