La diferencia de uso entre toString () y new String ()

La diferencia de uso entre toString () y new String ()

TestString.java

package com.atguigu;

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;

/**
 * TestString
 *    toString 和 new String 原理和区别
 */
public class TestString {
    public static void main(String[] args) {
        // 表示密文
        String str="TU0jV0xBTiNVYys5bEdiUjZlNU45aHJ0bTdDQStBPT0jNjQ2NDY1Njk4IzM5OTkwMDAwMzAwMA==";
        // 使用base64进行解码
        String rlt1=new String(Base64.decode(str));
        // 使用base64进行解码
        String rlt2=Base64.decode(str).toString(
        );

        System.out.println("new String===" + rlt1);

        System.out.println("toString==" + rlt2);
    }
}



Cual es la correcta? ¿Por qué?

El nuevo método String () debe usarse aquí, porque el cifrado y descifrado Base64 es un principio para convertir el formato de codificación

La diferencia de uso entre toString () y new String ()

str.toString es el método toString de la clase que llamó a este objeto. Por lo general, se devuelve una cadena de este tipo  : [nombre de clase] @ [hashCode]

new String (str) es una matriz de bytes basada en un parámetro, que utiliza el formato de codificación predeterminado de la máquina virtual Java para decodificar esta matriz de bytes en el carácter correspondiente. Si el formato de codificación predeterminado de la máquina virtual es ISO-8859-1 , los caracteres correspondientes a los bytes se pueden obtener de acuerdo con la tabla de codificación ascii.

¿Cuándo usar qué método?

Cuando new String () generalmente usa transcodificación de caracteres, cuando byte [] array

toString () utilizado al imprimir el objeto

Supongo que te gusta

Origin blog.csdn.net/qq_39368007/article/details/114530115
Recomendado
Clasificación