de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
Alex Spurling
Alex Spurling
Question

Jaki jest najprostszy sposób na wydrukowanie tablicy w Javie?

W Javie, tablice nie nadpisują toString(), więc jeśli spróbujesz wydrukować jedną bezpośrednio, otrzymasz className + '@' + hex z hashCode tablicy, jak zdefiniowano przez Object.toString():

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray);     // prints something like '[[email protected]'

Ale zazwyczaj, my'chcemy czegoś więcej jak [1, 2, 3, 4, 5]. Jaki jest najprostszy sposób, aby to zrobić? Oto kilka przykładowych danych wejściowych i wyjściowych:

// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//output: [1, 2, 3, 4, 5]

// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
//output: [John, Mary, Bob]
1838 2009-01-03T20:39:39+00:00 3
 Sae1962
Sae1962
Edytowane pytanie 7. lipca 2019 в 2:58
Programowanie
printing
arrays
java
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 Esko
Esko
3. stycznia 2009 в 8:43
2009-01-03T20:43:44+00:00
Więcej
Źródło
Edytuj
#8721654

Od Javy 5 możesz użyć Arrays.toString(arr) lub Arrays.deepToString(arr) dla tablic wewnątrz tablic. Zauważ, że wersja Object[] wywołuje .toString() na każdym obiekcie w tablicy. Wyjście jest nawet udekorowane dokładnie w sposób, o który pytasz.

Przykłady:

  • Simple Array:

      String[] array = new String[] {"John", "Mary", "Bob"};
      System.out.println(Arrays.toString(array));

Wyjście:

    [John, Mary, Bob]
  • Nested Array:

      String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
      System.out.println(Arrays.toString(deepArray))
      //output: [[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922].
      System.out.println(Arrays.deepToString(deepArray));

Dane wyjściowe:

    [[John, Mary], [Alice, Bob]]
  • double Array:

      double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 };
      System.out.println(Arrays.toString(doubleArray));

Wyjście:

    [7.0, 9.0, 5.0, 1.0, 3.0 ]
  • int Array:

      int[] intArray = { 7, 9, 5, 1, 3 };
      System.out.println(Arrays.toString(intArray));

Wyjście:

    [7, 9, 5, 1, 3 ]
 azro
azro
Edytowana odpowiedź 8. lutego 2019 в 8:00
2468
0
Limbic System
Limbic System
3. stycznia 2009 в 8:48
2009-01-03T20:48:43+00:00
Więcej
Źródło
Edytuj
#8721655

Zawsze najpierw sprawdź biblioteki standardowe. Spróbuj:

System.out.println(Arrays.toString(array));

lub jeśli twoja tablica zawiera inne tablice jako elementy:

System.out.println(Arrays.deepToString(array));
Limbic System
Limbic System
Edytowana odpowiedź 13. lutego 2009 в 10:50
341
0
 Ross
Ross
3. stycznia 2009 в 9:44
2009-01-03T21:44:05+00:00
Więcej
Źródło
Edytuj
#8721656

Jeśli używasz Javy 1.4, możesz to zrobić zamiast tego:

System.out.println(Arrays.asList(array));

(Oczywiście działa to również w wersji 1.5+).

40
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
365
Zarejestrowany 1 dzień temu
2
True Image
Zarejestrowany 1 dzień temu
3
archana agarwal
Zarejestrowany 3 dni temu
4
Maxim Zhilyaev
Zarejestrowany 6 dni temu
5
adambotsfford adambotsfford
Zarejestrowany 1 tydzień temu
BG
DA
DE
EL
ES
FI
FR
ID
IT
JA
KO
LV
NL
PL
PT
RU
SL
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem