Esiste una lunghezza massima per i nomi di classe/metodo/variabile in Java? il JLS non sembra menzionarlo. So che i nomi molto lunghi sono comunque problematici dalla leggibilità del codice e dalla prospettiva di manutenibilità, ma solo per curiosità esiste una limitazione (suppongo che i nomi delle classi possano essere limitati dalla limitazione massima del nome del file system).Lunghezza massima del nome della variabile o del metodo in Java
risposta
Spiacente, in realtà ho trovato la risposta nel JLS: http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 Sembra che i nomi degli identificatori siano di lunghezza illimitata.
trovato anche domanda simile (anche se non sembra nella mia ricerca iniziale, o quando ho digitato il titolo della domanda che è strano): Maximum Method Name Length
Se non sbaglio, il limite non è nel linguaggio stesso ma nel formato classfile, che limita i nomi a 64k, quindi per tutti gli scopi pratici la lunghezza dell'identificatore non è un problema. Nello specifico, questa è la definizione di una stringa costante in piscina, che sembra implicare la lunghezza massima è di 16 bit:
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
}
nomi classe possono essere più di un problema per i file system, sono d'accordo, io' Non sono sicuro di cosa sia attualmente supportato.
Questa dovrebbe essere la risposta accettata – Henry
Se si va oltre il limite di dimensioni imposto dalla VM per il metodo nomi, allora si ottiene un errore di compilazione (almeno con la versione di javac sto usando):
Main.java:1: la rappresentazione UTF-8 per la stringa "AAAAAAAAAAAAAAAAAAAA ..." è troppo lungo per la piscina costante
- 1. Lunghezza massima del nome della variabile in JavaScript
- 2. Django auth: aumento della lunghezza massima del nome utente
- 3. Lunghezza massima del byte []?
- 4. Lunghezza massima del campo "tzname" nome dell'identificatore del fuso orario
- 5. Lunghezza massima attributo del titolo
- 6. lunghezza massima nome file in Android
- 7. Java ha un limite alla lunghezza del nome della classe?
- 8. Lunghezza massima della versione di Android Nome/versione Codice (Manifest)
- 9. Windows Nome utente lunghezza massima
- 10. Come impostare la lunghezza massima della colonna del datagridview
- 11. Limitazione del browser con lunghezza massima della pagina
- 12. Nome variabile della modifica Java modifica il comportamento del programma
- 13. Il nome della tabella o la lunghezza del nome della colonna influiscono sulle prestazioni?
- 14. SQLAlchemy - lunghezza massima della colonna
- 15. Lunghezza massima di un nome di colonna in MySQL
- 16. lunghezza massima FormsAuthenticationTicket.UserData proprietà
- 17. Prefisso variabile membro aggiunto erroneamente al nome del metodo
- 18. Dimensione massima di un metodo in java?
- 19. java.sql.SQLNonTransientConnectionException: org.apache.thrift.transport.TTransportException: dimensione del frame superiore alla lunghezza massima (16384000)!
- 20. Variabile di Visual Studio (o resharper) e colorazione del metodo
- 21. Suddivisione del testo in linee con lunghezza massima
- 22. È possibile estendere la lunghezza del nome della tabella Firebird?
- 23. La lunghezza del nome della variabile è importante per le prestazioni C#?
- 24. Qual è la lunghezza massima di un nome DNS
- 25. Recupero dinamico del nome del metodo corrente
- 26. Lunghezza massima di una variabile di stringa in Android
- 27. Java "serializzazione del metodo" della classe anonima
- 28. ServiceId.UniqueId lunghezza massima e formato
- 29. foreach con nome variabile pari al nome del campo
- 30. Android EditText Lunghezza massima
Questo è per la lingua, ma il formato del file di classe è più restrittivo. – Uri
Che in realtà è abbastanza sorprendente, considerando che il linguaggio era destinato alla compilazione per i file di classe ... – Uri
true, mi chiedo cosa succede se in realtà provi a creare un nome variabile ridicolmente lungo – talg