Szukam czystej i wydajnej metody deklarowania wielu zmiennych tego samego typu i tej samej wartości. W tej chwili mam:
String one = "", two = "", three = "" etc...
Ale szukam czegoś takiego:
String one,two,three = ""
Czy to jest coś, co można zrobić w Javie? Pamiętając o wydajności.
java
variables
initialization
declaration
użytkownik83643
źródło
źródło
Odpowiedzi:
Powinno to działać z niezmiennymi obiektami. Nie ma to sensu w przypadku obiektów zmiennych, na przykład:
Wszystkie zmienne wskazywałyby na to samo wystąpienie. Prawdopodobnie w takim przypadku potrzebujesz:
Lub jeszcze lepiej użyj tablicy lub
Collection
.źródło
one = "cat"
zrobię, czy totwo.equals("cat")
prawda?Możesz zadeklarować wiele zmiennych i zainicjować wiele zmiennych, ale nie oba jednocześnie:
Jednak tego rodzaju rzeczy (zwłaszcza wielokrotne przypisania) byłyby niezadowolone przez większość programistów Java, którzy uważaliby to za przeciwieństwo „wizualnie prostego”.
źródło
Nie, w Javie nie jest to możliwe.
Możesz to zrobić .. Ale staraj się tego unikać .
źródło
Działa dla prymitywów i klas niezmiennych, takich jak
String
, klasy Wrapper Character, Byte.Dla klas zmiennych
Tworzone są trzy referencje + jeden obiekt. Wszystkie odniesienia wskazują na ten sam obiekt, a Twój program będzie źle się zachowywał.
źródło
Możesz to zrobić:
Ale wszystkie będą wskazywać na tę samą instancję. Nie spowoduje problemów z końcowymi zmiennymi lub typami pierwotnymi. W ten sposób możesz zrobić wszystko w jednym wierszu.
źródło
Nie sądzę, że jest to możliwe, musisz ustawić wszystkie wartości indywidualnie (tak jak w pierwszym podanym przykładzie).
Drugi przykład, który podałeś, zainicjuje tylko ostatnią zmienną do „”, a nie pozostałe.
źródło
Zbyt późno na to, ale najprostszym sposobem, jaki znalazłem, jest:
Wynik:
źródło