Z ciekawości, ile wymiarów tablicy można mieć w Javie?Maksymalna liczba wymiarów w tablicy Javy
Odpowiedz
Java język nie ogranicza liczbę wymiarów, ale Java VM Spec ogranicza liczbę wymiarów do 255.
Na przykład, poniższy kod nie powiedzie się skompilować:
class Main {
public static void main(String[] args) {
final int[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][] x;
}
}
z błędem:
1.java:18: error: array type has too many dimensions
[][][][][][][][][][][][][][][][] x;
^
1 error
(Ref: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4.1 „deskryptor rodzaju tablica jest ważny tylko wtedy, gdy oznacza 255 lub mniej wymiarów”).
Innymi słowy, jeśli potrzebowałeś więcej niż 255 (ha!), Musiałbyś uczynić zewnętrzne tylko tablice obiektów, a następnie rzucić je do rzeczywistego typu, gdy osiągniesz mniej niż 256. – Gabe
To jest interesujące - nie zrobiłem tego ". t to wiem. Z jednej strony zastanawiam się, dlaczego ktokolwiek chciałby użyć tablicy o tej wymiarze, az drugiej zastanawiam się, dlaczego tak by to ograniczyło. – Cam
@Cam 255 mieści się w 8 bitach. – kennytm
Ściśle mówiąc o
Maximum number of dimensions in a Java array
jest jedynie jednowymiarowy tablica jest możliwe Java. ponieważ pod maską java traktujemy wielowymiarowe tablice jako tablicę tablic.
Dowód koncepcji: http://www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm
dlatego jego możliwości mieć poszarpane tablic w Javie, jak dobrze!
Mały eksperyment pokazuje, że maksymalnie 255 wymiarów. 256 powoduje błąd kompilacji;
Ta odpowiedź została już dostarczona w 2010 roku :-) – Carpetsmoker
- 1. Maksymalna liczba argumentów Bash! = Maksymalna liczba argumentów cp?
- 2. Maksymalna liczba połączeń w ChannelFactory
- 3. Maksymalna liczba wątków ThreadPool
- 4. Parametry funkcji maksymalna liczba
- 5. Maksymalna liczba prób wysłania
- 6. Maksymalna liczba równoczesnych HttpWebRequests
- 7. Maksymalna liczba instrukcji GLSL
- 8. Jenkins - maksymalna liczba równoczesnych zadań
- 9. Funkcje PHP - Maksymalna liczba argumentów
- 10. SQL DELETE - Maksymalna liczba wierszy
- 11. Maksymalna liczba procesów zarejestrowanych globalnie
- 12. Maksymalna liczba obiektów w obszarze roboczym
- 13. Maksymalna liczba zmiennych lokalnych w metodzie Java
- 14. Maksymalna liczba wierszy w tabeli sqlite?
- 15. Maksymalna liczba oczekujących elementów w ThreadPool.QueueUserWorkItem
- 16. Maksymalna liczba elementów wyliczających w języku Java
- 17. Maksymalna liczba urządzeń peryferyjnych w CoreBluetooth?
- 18. Maksymalna liczba kolumn w tabeli MySQL
- 19. Maksymalna liczba znaków w znaczniku div/akapitu
- 20. Maksymalna liczba definicji var/funkcji w JavaScript?
- 21. Określanie liczby wymiarów w tablicy PHP
- 22. Jaka jest maksymalna liczba bloków możliwa w CUDA?
- 23. . Maksymalna liczba równoczesnych wątków z timerem
- 24. Maksymalna liczba zapytań SQL na stronę
- 25. Maksymalna liczba instancji modułu roboczego Apache
- 26. Studio Android maksymalna liczba linii logcat
- 27. Zaznaczanie oddzielnych wymiarów tablicy za pomocą adnotacji
- 28. Jaka jest maksymalna liczba ponumerowanych wyrażeń regularnych?
- 29. Błąd: Maksymalna liczba bibliotek DLL osiągniętych
- 30. Maksymalna liczba połączeń na hoście z twisted.web.client.Agent
Wielkie imię, przy okazji. –