Come arrivare String.Format a lamentarsi al momento della compilazione
-
12-10-2019 - |
Domanda
Il compilatore ha accesso alla stringa di formato ei tipi e dei parametri richiesti. Quindi suppongo ci sarebbe qualche modo per indicare i parametri mancanti per le varargs ... anche se solo per un sottoinsieme di casi. C'è qualche modo per Eclipse o di un altro IDE per indicare che il varargs passato potrebbe causare un problema in fase di esecuzione?
Soluzione
Sembra che FindBugs possono risolvere il tuo problema. Ci sono alcune categorie di pericolo relative a stringhe di formato.
Altri suggerimenti
Il compilatore Java non ha alcun built-in conoscenza semantica dei parametri StringFormat, quindi non può controllare su questi al momento della compilazione. Per tutto ciò che sa, StringFormat è solo un altro di classe e String.Format è solo un altro metodo, e la stringa di formato data è solo un'altra stringa come qualsiasi altro.
Ma sì, mi sento il vostro dolore, avendo venire attraverso questi stessi problemi negli ultimi due giorni. Quello che avrebbe dovuto è fatto lo rendono 'meno attenti' circa il numero di parametri, e lasciarmi finali marcatori% s non-sostituito.