2013-01-09 68 views
-5

我使用Intellij來做一些Scala開發。我通常使用Eclipse,但一位朋友說服IntelliJ去了。發現缺乏「問題」觀點是一個真正的痛苦。但有另一個問題。IntelliJ和Scala

我有在測試下面的代碼fragement:

import org.junit.Test 
import org.mockito.{Mockito, Mock} 
import java.util 
... 

util.ArrayList aList = Mockito.mock(classOf[util.ArrayList]) 
aList.add("") 

所以,首先我得到的編輯器屏幕的右側(羞恥有沒有「問題視圖」)紅酒吧,和當我將鼠標懸停在它上面時,它表示Can not resolve symbol aList

任何人都可以幫助我理解這一點嗎?

如果我改變ArrayList的進口import java.util.ArrayList並刪除代碼作爲前綴我再拿到3的錯誤信息:

Can not resolve symbol aList 
Reference must be prefixed 
Use of postfix method call 

這是所有上線:

ArrayList aList = Mockito.mock(classOf[ArrayList]) 

所以任何人都幫助我理解這個錯誤的集合? IntelliJ沒有有用的幫助,谷歌搜索沒有任何亮點。

最後,如果有人使用IntelliJ和Eclipse進行scala + java開發,可以給我一個意見。在我看來,IntelliJ有點s ** t。或者,也許我只是沒有得到它...

謝謝所有。

+3

也許你應該閱讀了關於變量是如何在斯卡拉聲明。語法是'val foo:SomeType = ...' –

+0

每個IDE都會習慣。我不在Scala中開發,只開發Java,只在IntelliJ中開發。 –

+3

你可能會發現[Twitter的斯卡拉學校](http://twitter.github.com/scala_school/)很有幫助。 – Jonathan

回答

1

關於前綴:

import java.util 

導入UTIL命名空間即內UTIL你必須寫util.ArrayList訪問類。如果你想UTIL內進口的一切,你需要寫

import java.util._ 

專門進口的ArrayList

import java.util.ArrayList 
+2

我明白上述,但IntelliJ爲什麼說'參考必須帶前綴'?對於像java.util.ArrayList這樣的完整類導入有什麼不正確的地方嗎? –