2012-03-18 5 views
6

Eclipse se puede configurar para "ignorar problemas de tipo genérico inevitable" al establecer las preferencias para el compilador de Java en el panel "Errores/Advertencias".¿Cuáles son los "problemas de tipo genérico inevitables" en Eclipse para Java?

¿Cuáles son esos problemas de tipo genérico "inevitables" en Java? ¿Es seguro ignorar esto? ¿Cuándo surgen?

+0

@DavidHarkness, ¿Estaba en este sitio? De lo contrario, lea [esto] (http://meta.stackexchange.com/questions/18956/what-should-i--f-the-answer-to-the-question-is-first-result-of-a -google-searc), especialmente si usted es el que votó negativamente. – aioobe

+0

@aioobe - Hecho y hecho. :) –

Respuesta

8

De the documentation de la función:

Cuando está activado, el compilador emitirá un error o una advertencia, incluso cuando se detecta un problema de tipo genérico que no podría haber sido evitado por el programador. Como ejemplo, un tipo puede verse obligado a utilizar tipos sin procesar en sus firmas de métodos y tipos de devolución porque los métodos que sobrescribe de un tipo estupendo se declaran para usar tipos sin procesar en primer lugar.

Así, por ejemplo:

class Test { 
    public void method(ArrayList list) { 
    } 
} 

class TestSub extends Test { 

    @Override 
    public void method(ArrayList list) { 
    //     ^^^^^^^^^ 
    //  Complain on use of raw type or not? 

     System.out.println("Overridden"); 
    } 
} 
1

Desde el Eclipse help page:

Cuando está activado, el compilador emitirá un error o una advertencia, incluso cuando se detecta un problema de tipo genérico que no podría haber sido evitado por el programador. Como ejemplo, un tipo puede verse forzado a usar tipos sin procesar en sus firmas de métodos y tipos de devolución porque los métodos que anula de un tipo estupendo se declaran para usar tipos sin procesar en primer lugar.

0

Nunca debe realmente ignorar las advertencias. Están ahí por una razón. Intenta arreglar lo que les está causando en general. A veces son seguros en tiempo de ejecución, pero pueden mejorar la legibilidad del código, a veces se deben a algo que puede hacer explotar tu código.

Una gran oferta solo hace que su código sea más robusto/legible/mantenible. Además, ignorarlos puede hacer que su trabajo sea más difícil en el futuro, cuando usted (u otra persona) necesite modificar su código.

Cuestiones relacionadas