web-dev-qa-db-fra.com

Java évaluation de code (IntelliJ IDE), utiliser toString () à un moment donné?

Lors de l'évaluation de l'initialisation de l'objet, toString nullPointerException apparaît.

La méthode a levé l'exception "Java.lang.NullPointerException". Impossible d'évaluer XXXX.toString ()

Exemple de code qui recrée ce problème:

Car car = carUtils.objectMapper.readValue(new File(pathTo("carProperties.json")), Car.class); 

Pourquoi cela se produit-il? l'évaluation est-elle effectuée à l'aide des invocations toSting ()?

29
Johnny

J'ai découvert la cause première de ce comportement.

Vous pouvez choisir de quelle manière l'évaluation IntelliJ affichera les données: le résultat peut être l'objet ou l'évaluation toString . Par conséquent, l'erreur que j'avais rencontrée, View as-> toString a été utilisée, alors que tous les objets n'avaient pas toString mis en œuvre. J'espère que cela aidera quelqu'un à l'avenir.

enter image description here

Si vous ne voulez pas le mettre à jour manuellement à chaque fois, vous pouvez le changer dans les propriétés IntelliJ en suivant ces étapes

40
Johnny