Java-API-字符串构造方法

Java-API-字符串构造方法

String类构概述

字符串是由多个字符组成的一组数据(字符序列)的字符串常量,值改变后会重新创建一个新的对象。

两种创建方式

String s = “abc”;

String s = new String(“abc”);

第一种先在栈中创建一个对String类的对象引用变量s,然后去查找“abc”是否被保存在字符串常量池中,如果没有则在堆中创建一个String对象object。

第一种特点:JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。

第二种一概在堆中创建新对象,而不管其字符串是否相等,是否有必要创建新对象。

构造方法

​ new String()
​ new String(“abc”)
​ String(char[] value) 把char数组转为字符串
​ String(byte[] b,charset c) 把byte数组转为 字符串

​ getBytes(“utf-8”); 把字符串转为byte数组 指定字符集(编码格式)

代码演示
public static void main(String[] args) throws UnsupportedEncodingException {
        //构造方法
      /*  String s = new String();
        new String("abc");
        String(char[] value); 把char数组转为字符串
        String(byte[] b,charset c);  把byte数组转为 字符串

        getBytes("utf-8"); 把字符串转为byte数组  指定字符集(编码格式)
*/
        //字符转祖父串
        char[] c = {'a','b','c','d'};
        String s1 = new String(c);
        System.out.println(s1);

        String s2 = new String("abc");
        System.out.println("s2:"+s2);

        String s3 = new String(c,0,2);//count:数量的意思
        System.out.println(s3);

        String  s4 = "abc";
        byte [] b = s4.getBytes();
        System.out.println(Arrays.toString(b)); //把能够看懂的字符转化为字节数组

        String s5 = "中文";
        byte[] b1 = s5.getBytes("utf-8");
        System.out.println(Arrays.toString(b1));

        System.out.println(new String());//默认为utf-8编码
        System.out.println(new String(b1,"utf-8"));//把看不懂的byte数组 转换为字符串
        //注意,编码和解码时两边的编码要一样,否则会乱码

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值