¿Está bien usar afirman en un campo Sé que no será nulo?

Joe:

De la lectura de los mensajes existentes He llegado a saber que "afirmar" no debe ser usado en el código de producción, sin embargo primer consejo de IntelliJ para mí cuando se utiliza un método que conozco no será nulo, pero todavía es anulable de otras maneras, es contar yo que debo utilizar "afirman" IntelliJ Captura de información sobre herramientas

En el código anterior ItemMeta no será nula cuando se crea un nuevo ItemStack sin embargo, puede ser nulo si ItemStack también es nula, por lo que no tiene la anotación @NotNull para empezar.

Sabiendo esto, ¿cuál es la forma más correcta de manejar esta advertencia? ¿Es para lo ignoran porque sé que nunca será nula, o es que todavía hay que hacer un cheque nulo. Si se trata de hacer una verificación de qué tipo nulo, afirmar o la forma en que estaba haciendo ya que es

if(fillerMeta != null) 
Enrique :

He llegado a saber que "afirmar" no debe ser usado en el código de producción

Eso es muy discutible. Si usted está afirmando fillerMeta != null, que está diciendo que esto no puede ser nulo o algo está seriamente mal con mi código.

Eso es perfectamente bien. Pero hay que tener cuidado si se quiere hacer valer algo, o algo mango de error. Afirmar algo así 1 + 1 == 2está bien, porque si resulta que las matemáticas no funciona de esa manera, todos los demás supuestos que hacen se probablemente fuera de la ventana también. Así que está bien para que el programa acaba de explotar.

Si fillerMetapodría ser nula porque era por ejemplo de regresar de una función que cree que puede volver nullque debe hacer el manejo de error. Por ejemplo, if (fillerMeta == null) throw new Exception...y con gracia manejar eso.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=314931&siteId=1
Recomendado
Clasificación