我是java的新手,來自ruby世界。我喜歡Ruby的一件事是非常簡潔的語法,如|| =。java等價於ruby的|| ||語法
我當然知道編譯語言是不同的,但我想知道Java是否有類似的東西。
特別是,我做什麼,所有的時間在紅寶石是一樣的東西:
someVar ||= SomeClass.new
我覺得這是非常簡潔,但功能強大,但迄今爲止唯一的方法我能想到的來達到同樣的事情是一個非常詳細的:
if(someVar == null){
someVar = new SomeClass()
}
只是想改善我的Java-fu和語法肯定是我不贊成的一個領域。
哎呀回答了這個對於C#這在C#將'somevar? (somevar = new SomeClass())'如果Java有空合併運算符,它也應該等效(我假設)。 – 2010-03-29 17:58:32
@Chris - 你的意思是'someVar = someVar ?? new SomeClass()':) – 2010-03-29 18:00:53
@Nick不,我的意思就是我說的至少在C#中。一個真實世界的例子是'public List Strings {set {_strings = value; } get {return _strings ?? (_strings = new List ())};'。現在,如果只有我可以指定一個自動屬性,get是自我生成的,如果它爲null。或許有點像'public List Strings {set;安全,獲得; }' –
2010-03-29 18:06:41