2014-04-17 2 views
10

Sto usando Java 8 con Android Studio e il plug-in Retrolambda per compilare lambdas in classi anonime (perché Java 8 non è supportato su Android). L'IDE mostra avvisi (o suggerimenti) su come modificare il mio codice per utilizzare tutte le funzionalità di Java 8. Una di queste funzionalità è "Può essere sostituita con una chiamata foreach" quando si esegue il looping della raccolta. Voglio sopprimere questo tipo di avvertimento, ma non riesco a capire come farlo.Come sopprimere l'avviso "Può essere sostituito con foreach call"

La soluzione più semplice per sopprimere questo tipo di avviso è l'annotazione @SuppressWarnings("all"). Ma voglio essere avvertito su diversi tipi di avvertimenti, quindi questa non è la soluzione.

C'è un modo per disattivare questo tipo di avviso per l'intero IDE o solo per il blocco di codice (qualcosa come @SuppressWarnings("foreach"))?

+0

Usa il ciclo foreach se puoi. È meglio per le prestazioni. – Toochka

+1

@Toochka Non è possibile utilizzare il ciclo foreach su Android. – tomrozb

+0

Lo sto usando con successo – Toochka

risposta

12

Un modo è configurare le impostazioni delle intenzioni (presumo che ciò sia possibile con Android Studio, sono un utente IntelliJ).

Per questo preciso intento:

  • posizionare il cursore su (o forse "l'opzione + Invio" o qualcosa del genere su un Mac) il "per" parola chiave
  • premete "Alt + Invio".
  • premere la freccia a destra, selezionare "impostazione del profilo di modifica ispezione" e spegnerlo o personalizzare a proprio piacimento

screenshot of inspection edit option from quick-fix

+0

Grazie! Funziona. Ho anche scoperto che è possibile utilizzare "// noinspection Convert2streamapi" per disabilitare l'ispezione per singola riga o @SuppressWarnings ("Convert2streamapi") per disabilitarla per l'intero blocco di codice. – tomrozb