• new String()与toString


    str.toString是调用了str这个object对象的类的toString方法。一般是返回这么一个String:[class name]@[hashCode]。
    new String(str)是根据parameter是一个字节数组,使用java虚拟机默认的编码格式,将这个字节数组decode为对应的字符。若虚拟机默认的编码格式是ISO-8859-1,按照ascii编码表即可得到字节对应的字符。

    byte[] b = {'a','b','c'};
    System.out.println(b.toString());  
    System.out.println(new String(b));

    第一个得到的是[B@15db9742,第二个返回abc

    toString 若未重写,在object类中,返回一个字符串,该字符串由类名(对象是该类的一个实例)、“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
    getClass().getName() + '@' + Integer.toHexString(hashCode())

    toString默认返回当前对象得内存地址,new String()是返回一个真实的值

    所以,

    new String()在字符转码时用,比如字符的加密解密等等;

  • 相关阅读:
    函数-列表生成式
    函数-闭包
    函数-参数
    函数-装饰器
    函数-函数递归
    函数-高阶函数
    函数-命名空间
    函数-匿名函数
    模块-shutil
    在 Android 5.1.1 执行 remount system failed 解决方法
  • 原文地址:https://www.cnblogs.com/zhangyuanbo/p/11889048.html
Copyright © 2020-2023  润新知