Il y a quelque temps, un collègue a ajouté une fonction très simple avant de se connecter la nuitreviewLors de la révision du code, il a pensé aux valeurs de travail acharné et d'entreprise de l'entreprise et a temporairement ajouté une ligne de journaux. Il a estimé qu'une simple ligne de journaux était la base. Il n'y a eu aucun problème, mais il y a eu beaucoup d'alarmes juste après la connexion. J'ai rapidement annulé le code, trouvé le problème, supprimé le code pour l'ajouter. journaux et je me suis remis en ligne. review代码时想到公司拼搏进取的价值观临时他加一行 log 日志,觉得就一行简单的日志基本上没啥问题,结果刚上完线后一堆报警,赶紧回滚了代码,找到问题删除了添加日志的代码,重新上线完毕。
情景还原
❝
定义了一个 CountryDTO
❞
public class CountryDTO {
private String country;
public void setCountry(String country) {
this.country = country;
}
public String getCountry() {
return this.country;
}
public Boolean isChinaName() {
return this.country.equals("中国");
}
}
Copier après la connexion
❝
定义测试类 FastJonTest
❞
public class FastJonTest {
@Test
public void testSerialize() {
CountryDTO countryDTO = new CountryDTO();
String str = JSON.toJSONString(countryDTO);
System.out.println(str);
}
}
Définir la classe de test ❞🎜<span style="float: right;taille de police : 3em;hauteur de ligne : 1em;">🎜</ blockquote><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>/**
* case1: @JSONField(serialize = false)
* case2: getXxx()返回值为void
* case3: isXxx()返回值不等于布尔类型
* case4: @JSONType(ignores = "xxx")
*/
@JSONType(ignores = "otherName")
public class CountryDTO {
private String country;
public void setCountry(String country) {
this.country = country;
}
public String getCountry() {
return this.country;
}
public static void queryCountryList() {
System.out.println("queryCountryList()执行!!");
}
public Boolean isChinaName() {
System.out.println("isChinaName()执行!!");
return true;
}
public String getEnglishName() {
System.out.println("getEnglishName()执行!!");
return "lucy";
}
public String getOtherName() {
System.out.println("getOtherName()执行!!");
return "lucy";
}
/**
* case1: @JSONField(serialize = false)
*/
@JSONField(serialize = false)
public String getEnglishName2() {
System.out.println("getEnglishName2()执行!!");
return "lucy";
}
/**
* case2: getXxx()返回值为void
*/
public void getEnglishName3() {
System.out.println("getEnglishName3()执行!!");
}
/**
* case3: isXxx()返回值不等于布尔类型
*/
public String isChinaName2() {
System.out.println("isChinaName2()执行!!");
return "isChinaName2";
}
}</pre><div class="contentsignin">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div> 🎜Temps d'exécution<code style="font-size: 14px;overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(30 , 107, 184);couleur d'arrière-plan : rgba(27, 31, 35, 0.05);famille de polices : 'Operator Mono', Consolas, Monaco, Menlo, monospace;saut de mot : break-all ;" >Pointeur nul Erreur : 🎜🎜🎜Pointeur nul🎜
Il ressort du message d'erreur que isChinaName(), à ce moment this.country est vide, alors le problème vient : isChinaName()方法,这时候this.country变量为空,那么问题来了:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn