Java에서 여러 변수를 동일한 값으로 초기화
동일한 유형 및 값의 여러 변수를 선언하는 깨끗하고 효율적인 방법을 찾고 있습니다.현재 저는 다음을 가지고 있습니다.
String one = "", two = "", three = "" etc...
하지만 저는 다음과 같은 것을 찾고 있습니다.
String one,two,three = ""
Java로 할 수 있는 건가요?효율성을 염두에 두고 있습니다.
String one, two, three;
one = two = three = "";
이것은 불변의 오브젝트와 함께 동작합니다.예를 들어 다음과 같은 가변 객체는 의미가 없습니다.
Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();
모든 변수가 동일한 인스턴스를 가리킵니다.이 경우 필요한 것은 다음과 같습니다.
Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();
또는 어레이 또는 를 사용하는 것이 좋습니다.
여러 변수를 선언하고 여러 변수를 초기화할 수 있지만 두 변수를 동시에 초기화할 수는 없습니다.
String one,two,three;
one = two = three = "";
그러나 대부분의 Java 개발자는 이러한 종류의 작업(특히 여러 개의 작업)을 "시각적으로 단순"과 반대되는 것으로 간주합니다.
아니요, 자바에서는 불가능합니다.
이렇게 하면 됩니다.하지만 피하도록 노력하세요.
String one, two, three;
one = two = three = "";
다음과 같은 기본 및 불변의 클래스에 대해 작동합니다.String
, 래퍼 클래스 문자, 바이트.
int i=0,j=2
String s1,s2
s1 = s2 = "java rocks"
가변 클래스의 경우
Reference r1 = Reference r2 = Reference r3 = new Object();`
참조가 3개 + 오브젝트가 1개 생성됩니다.모든 참조가 같은 오브젝트를 가리키고 있어 프로그램이 잘못 동작합니다.
다음과 같이 할 수 있습니다.
String one, two, three = two = one = "";
하지만 이것들은 모두 같은 경우를 가리키게 될 것이다.최종 변수나 원시 유형에 문제가 발생하지 않습니다.이렇게 하면 모든 것을 한 줄로 할 수 있습니다.
모든 값을 개별적으로 설정할 필요는 없다고 생각합니다(처음 제시했던 예시와 같습니다).
두 번째 예에서는 ""에게 귀중한 마지막 변수만 초기화됩니다.다른 변수는 초기화되지 않습니다.
편집: Zeeen이 지적한 바와 같이 Java에서는 작동하지 않습니다.제가 대답하려고 했던 질문은 그루비에서도 나왔는데, 이 질문은 잘못 제출되었습니다.
너무 늦었지만 가장 간단한 방법은 다음과 같습니다.
String foo = bar = baz = "hello"
println(foo)
println(bar)
println(baz)
출력:
hello
hello
hello
언급URL : https://stackoverflow.com/questions/6202818/initializing-multiple-variables-to-the-same-value-in-java
'programing' 카테고리의 다른 글
Promise의 처리 오류입니다.모든. (0) | 2022.10.03 |
---|---|
PHP 스크립트의 명령줄과 http 실행을 결정하는 표준 방법은 무엇입니까? (0) | 2022.10.03 |
phpmyadmin.pma_table_uiprefs가 존재하지 않습니다. (0) | 2022.10.03 |
Maria를 사용하여 클러스터 쿼츠를 적절하게 구성하는 방법DB (0) | 2022.10.03 |
어떤 'php.ini' 파일이 사용되고 있는지 어떻게 알 수 있습니까? (0) | 2022.10.03 |