zoukankan      html  css  js  c++  java
  • Java 经验书

    目录

    正文

    字节 转 String

    在开发中,会遇到各种 byte 类型转换为 String 的情况
    下面做些记录

    // 1. String.valueOf() 效率最高的方法
    String s = String.valueOf('c'); 
    String s = String.valueOf(new char[]{'c'}); //将一个char数组转换成String
    
    // 2. 
    Character.toString() 实际上底层还是 String.valueOf()
    String s = Character.toString('c');
    String s = new Character('c').toString();
    
    // 3. 直接使用 + 运算符
    String s = "" + 'c';
    // 虽然这个方法很简单,但这是效率最低的方法
    // Java中的String Object的值实际上是不可变的,是一个final的变量。
    // 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
    // 而Java对使用 + 运算符处理String相加进行了方法重载。
    // 字符串直接相加连接实际上调用了如下方法:
    // new StringBuilder().append("").append('c').toString();
    
    // 4. 利用 String 构造器,创建新的 String 对象
    String s = new String(new char[]{'c'});
    

    Base64Encoder 的使用

    对于 Base64 的转换(编码和解码),在数据传输(图片),签名或简单加密的时候可用到
    不过并不推荐使用 Base64进行加密

    import sun.misc.BASE64Encoder;
    import sun.misc.BASE64Decoder;
    
    // 编码
    BASE64Encoder encoder = new BASE64Encoder();
      //编码器
    String imagestr =  encoder.encode(captcha);
      // 进行编码
    
    // 解码
    BASE64Decoder decoder = new BASE64Decoder();
      // 解码器
    byte[] bytes = decoder.decodeBuffer(imagestr);
      // 进行解码
    
    // ------ 新的写法 ----
    import java.util.Base64.Encoder
    import java.util.Base64.Decoder
     
    // 编码
    Encoder encoder = Base64.getEncoder();
    String result = encoder.encodeToString(byteArray);
    
    // 解码
    Decoder decoder = Base64.getDecoder();
    byte[] result = decoder.decode(str);
    // 为什么有新的写法?
    // 原因是 /lib/tool.jar 和 /lib/rt.jar 已经在 Java SE 9 中删除
    

    Java 经验书传送地址: https://www.cnblogs.com/inick/p/14389414.html

  • 相关阅读:
    【原】Shell脚本-判断文件有无进而复制
    【原】个人对win7开机黑屏只有鼠标排障总结
    【原】window上安装elasticserach
    【原】CentOS7上安装Xwiki8.2.1
    Java集合中Map接口的使用方法
    Java集合中Set的常见问题及用法
    Java计时器Timer和TimerTask用法
    Java集合中List的用法
    Java RuntimeException异常处理汇总
    用Java计算某个日期100天后的日期
  • 原文地址:https://www.cnblogs.com/inick/p/14389414.html
Copyright © 2011-2022 走看看