La determinación de si los objetos guayaba elegante y nula cadena vacía

La determinación de si los objetos guayaba elegante y nula cadena vacía

I. Introducción

El código de los parámetros es esencial para determinar qué juicio es nulo o vacío está escrito por la mayor parte del código que la necesidad de determinar en cada lugar se escriben sobre una gran cantidad de código repetitivo se verá muy hinchado, esta parte de la optimización del código de guayaba ha escrito para nosotros, provocada puede ser utilizado.

Además, nos dimos cuenta de la idea por referencia código fuente de guayaba, escribimos un método para lograr la misma funcionalidad.

-------------------------------------------------- -------------------------------------------------- -

Nota: es necesario importar utilizando la dependencia de guayaba guayaba en la idea, que puede introducirse mediante Gradle dependiente o maven.

Gradle dependencia archivo de importación build.gradle: Grupo de compilación: 'com.google.guava', nombre: 'guayaba', versión: '28 0,0-jre '

Dos, guayaba elegante determinar si el objeto es nulo

  • Ejemplos del objeto está determinado nulo
import java.util.Objects;

public class NotNull {
    public static void main(String[] args) {
        //定义一个 字符串为null的参数
        String strNull = null;

        //调用方法传入 null参数
        addNull(strNull);
   }

    private static void addNull(String str) {
        //Guava提供判断为null的方法,对参数进行判断。
        Objects.requireNonNull(str);
        System.out.println(str);
    }
}
  • Los resultados operativos
Exception in thread "main" java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at day09.test.NotNull.addNull(NotNull.java:27)
	at day09.test.NotNull.main(NotNull.java:21)
  • ver fuente Objects.requireNonNull
public static <T> T requireNonNull(T obj) {
        //判断参数为null 则抛出异常信息
        if (obj == null)
            throw new NullPointerException();
        //参数不为null,则返回参数本身
        return obj;
    }

En tercer lugar, el método de envasado de una función implementada Objects.requireNonNull

Objects.requireNonNull fuente puede ser visto sólo Analizando nula, cadena vacía no está determinada. Escribimos una forma de lograr nulo el juicio y la cadena vacía a lo largo de las líneas de implementación del código fuente de los suyos.

  • Crear una clase de herramienta, un método de escritura-implementado para determinar la cadena vacía y la clase nula. 
import com.google.common.base.Strings;
public class StringUtils {
    public static String requiredNonNullOrEmpty(String str) {
        if (Strings.isNullOrEmpty(str)) {
            throw new IllegalStateException("should non null or empty");
        }
        return str;
    }
}
  •  Herramientas de prueba
import java.util.Objects;

public class NotNull {
    public static void main(String[] args) {
        //定义一个 字符串为空和null的参数
        String strNull = null;
        String strEmpty = "";

        //调用方法分别传入 null和空字符串的参数
//        addNull(strNull);
        addEmpty(strEmpty);
    }

    private static void addNull(String str) {

        //使用我们写的工具类对参数进行判断
        String nullOrEmpty = StringUtils.requiredNonNullOrEmpty(str);
        System.out.println(nullOrEmpty);
    }

    private static void addEmpty(String str) {
        
        //使用我们写的工具类对参数进行判断
        String nullOrEmpty = StringUtils.requiredNonNullOrEmpty(str);
        System.out.println(nullOrEmpty);
    }
}
  • resultados de la prueba
    • Cuando un parámetro de entrada es nulo o cadena vacía, se produce una excepción descripción de la determinación de los parámetros juegan un papel.
Exception in thread "main" java.lang.IllegalStateException: should non null or empty
	at day09.test.StringUtils.requiredNonNullOrEmpty(StringUtils.java:11)
	at day09.test.NotNull.addEmpty(NotNull.java:30)
	at day09.test.NotNull.main(NotNull.java:20)

 

Publicados 316 artículos originales · ganado elogios 117 · vistas 420 000 +

Supongo que te gusta

Origin blog.csdn.net/m0_38039437/article/details/104847069
Recomendado
Clasificación