圖片來源:網路
一直以來我都有一個小小的疑問,就是網路上的許多程式範例,在遇到static function的時候為什麼都可以直接呼叫function名稱,而不用把前面的物件名稱都寫出來,舉例如下:
圖片來源:mockito
像是Mockito 的所有程式範例都是直接呼叫static function
Foo foo = mock(Foo.class)
而不是寫成
Foo foo = Mockito.mock(Foo.class)
雖然就只是多要打Mockito但是就覺得很礙眼不舒服,而且明明範例都不用這樣寫啊?在偶然的機會下看到這篇文章 Working With Static Imports in Eclipse 才頓時恍然大悟,原來是要先在Eclipse 裡面動手腳,讓Eclipse 認的出來(只能說Eclipse 真的還有好多秘技功能我都不知道...@@)
設定Static Import
然後在Favorites 的部份填入你常用的Static import library package 名稱
建議可以加入常用的Static function如下:
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*
org.mockito.Mockito.*
com.google.common.base.*
第一次使用時,記得最好先使用alt+/ 去產生 code completion,看看設定有沒有成功,如果看到以下畫面就代表成功了。
Reference:
[1] Working With Static Imports in Eclipse
[2] Generate static imports in Eclipse on autocomplete for JUnit Assert, StringUtils and others
沒有留言 :
張貼留言