[JAVA] Qu'est-ce qui est nul? ]

** 1. Déclencheur**

La raison pour laquelle j'ai choisi ce thème était que lorsque je formais un nouvel ingénieur, on m'a demandé d'expliquer null et je ne pouvais rien dire.

String A = null;
String B = "";

Lorsque j'ai défini null et "" (caractères vides) pour le type String, je ne pouvais pas expliquer ce qui était différent, alors je vais creuser cela et approfondir ma compréhension. (À ce moment-là, j'ai répondu que "null" n'avait aucune valeur et "" était un caractère vide. Réflexion.)

2.NullPointerException

Quand se produit le soi-disant "Nurupo"? À titre d'exemple, cela ressemble à ceci.

public class Sample {
	public static void main(String[] args) {
		String str = null;
		System.out.println(str.length());
	}
}

Lorsque j'essaye d'exécuter une méthode avec null, j'obtiens une NullPointerException. (Null ne peut être utilisé avec aucune méthode), donc s'il y a une possibilité qu'une valeur nulle soit définie, je pense qu'il est courant de mettre dans un processus de vérification appelé "contrôle nul" comme indiqué dans le code ci-dessous.

public class Sample {
	public static void main(String[] args) {
		String str = strMake();
		if (str != null) {
			System.out.println(str.length());
		} 
	}
	private static String strMake () {
		return null; //Écris quelque chose
	}
}

** 3. Méthodes fournies dans la classe de chaînes **

La classe String a différentes méthodes. Comme dossier de défense, je publierai un lien vers le site de référence.

[Document officiel] https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

** 4. Type de chaîne = type de référence **

Recommended Posts

Qu'est-ce qui est nul? ]
Qu'est-ce que Cubby
Qu'est-ce que 'java
Qu'est-ce que Keycloak
Qu'est-ce que maven?
Qu'est-ce que Jackson?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
Qu'est-ce que Gradle?
Qu'est-ce que POJO
Qu'est-ce que 'java
Qu'est-ce que centOS
Qu'est-ce que RubyGem?
Qu'est-ce que before_action?
Qu'est-ce que Docker
Qu'est-ce que Byte?
Qu'est-ce que Tomcat
Qu'est-ce que l'assemblage Maven?
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Qu'est-ce que vue cli
Qu'est-ce qu'une interface
Qu'est-ce que le moi de Ruby?
Qu'est-ce que le codage en dur?
Qu'est-ce qu'un flux
Qu'est-ce que l'attr_accessor de Ruby?
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une permission refusée?
Qu'est-ce que le contrôle d'instance?
Qu'est-ce qu'un initialiseur?
Qu'est-ce que Spring Tools 4
Qu'est-ce qu'un opérateur?
Qu'est-ce que l'orientation objet?
Qu'est-ce que le @VisibleForTesting de Guava?
Qu'est-ce qu'un modèle MVC?
Qu'est-ce qu'une annotation?
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
Qu'est-ce que @ (variable d'instance)?
Qu'est-ce que l'artefact de Gradle?
Qu'est-ce que l'audit JPA?
[Java] Qu'est-ce que flatMap?
Qu'est-ce qu'un servlet?
Qu'est-ce que le développement Web?
[Java] Qu'est-ce que ArrayList?
Qu'est-ce que l'orientation objet après tout?
Qu'est-ce que HttpSession session = request.getSession ();