2014-03-27 2 views
0

null을 얻고 설정하고 싶습니다.Java set one liner

Foo foo = new Foo(); 
... 
String test = foo.getTest() == null ? foo.setTest("this") : foo.getTest(); 

것은 공허한 방법입니다. 무엇이 옳은 방법으로 이것을 설정할 수 String test?

+0

getTest()에서 값을 두 번 가져 오지만, 이는 비효율적입니다. – Obicere

+0

이것은 가상 코드로 아이디어를 설명합니다. –

답변

3

하나의 라이너를 사용하지 마십시오.

String test = foo.getTest(); 
if (test == null) { 
    test = "this"; 
    foo.setTest(test); 
} 
+0

나중에 가독성을 위해 최선이라고 생각합니다. 그러나 그것이 하나의 라이너로서 가능한지 여전히 궁금해하고있었습니다. –

+0

@StenKin 음, 모든 것을 한 줄에 넣을 수는 있지만,'set' 메쏘드가'void'가 아닌 다른 것을 돌려주지 않으면 조건 연산자로 할 수 없습니다. –