包装类概念,常用integer,stringBuilder,string方法

本章内容(一个类里的代码,上下能读懂)为什么有包装类;数据自动拆装箱;缓存问题;string,stringBuilder,的基本方法,数字,字符串与与对象的相互转换:

包装类:我们经常使用的基本数据类型不是对象,但在实际应用中经常需要将基本数据转化成对象,
 *  为了解决这个问题,设计了对应的八个类,这就是包装类。
 *  byte-Byte boolean-Boolean short-Short char-Character int-Integer long-Long
 *  float-Float double-Double
 *  其他number包装类方法和Integer类似。
 *  自动装箱:基本类型的数据处于需要对象的环境时,会自动转为对象。
 *  自动拆箱:当需要一个值时,对象会自动转成基本数据类型。
 *    实际上是编译器帮的忙,并不是真自动。这个要注意空指针异常。
 *   缓存问题:如果数据在-128和127之间,那么在创建的时候会放在cache的数组里,那么在创建的时候
 *     会先去这个数组里找有没有,有就直接用,没有就创建新的。
 * String:不可变:对象内部成员变量无法在改变。   比较时用equals
 * StringBuillder:可修改的字符串,线程不安全,效率高,一般使用这个
 * StringBuffer:线程安全,效率低。

 

其实讲也没什么好讲的,直接看代码吧。

integer类的

  //基本数据类型转换为包装类对象
        Integer i = new Integer(1234);
        Integer b = Integer.valueOf(1234);
        Integer k = 1,u=1;
        System.out.println(i==b);//结果是false,两个是不同的对象
        System.out.println(k==u);//结果是true,和缓存问题有关
        //把包装类对象转换为基本数据类型
        int a = i.intValue();

        //把字符串转成包装类对象
        Integer c = new Integer("88888");
        Integer f = Integer.parseInt("122222");

        //包装类转成字符串
        String str = c.toString();
        String st = c+"";

        Integer e =5;//Integer e =Integer.valueOf(5);这是编译器帮忙修改的
        int h =e;//编译器帮忙修改成:int h =e.intValue();

String类的常用方法

  //常用String方法
    public static void methodToString(){
        String kj = "hellow";
        String ki = "Hellow";
        System.out.println(kj.length());//长度
        System.out.println(kj.charAt(1));//截取一个字符
        char[] ch = new char[3];
        //截取多个字符串并由其他字符数组接受
        kj.getChars(2,5,ch,0);
        System.out.println(ch);
        byte by[] = kj.getBytes();//变成一个byte数组
        System.out.println(new String(by));
        char[] cha  = kj.toCharArray();//变成一个char数组
        System.out.println(cha);
        //比较不区分大小写
        System.out.println(kj.equalsIgnoreCase(ki));
        //是否已特定的开头或结尾
        System.out.println(kj.startsWith("ee"));
        System.out.println(kj.endsWith("rd"));
        //变成大写或小写
        System.out.println(kj.toUpperCase());
        System.out.println(kj.toLowerCase());
        System.out.println(kj.concat(ki));//连接两个字符串
        System.out.println(kj.trim());//去掉起始或结尾的空格
        //截取一段字符串,第一个是开始位置,第二个是结束位置
        System.out.println(kj.substring(0, 5));
        //查找目标第一次出现的位置,找目标最后一次出现的位置
        System.out.println(kj.indexOf("o"));
        System.out.println(kj.lastIndexOf("o"));
        //按字典顺序比较两个字符串大小,第一个区分大小写,后面不区分
        System.out.println(kj.compareTo(ki));
        System.out.println(kj.compareToIgnoreCase(ki));
        System.out.println(kj.replace(kj, ki));//替换结果:Hellow
    }

stringBuilder类的常用方法

 //StringBuilder常用方法
    public static void methodToStringBuilder(){
        StringBuilder sb = new StringBuilder("abcdef");
        System.out.println(Integer.toHexString(sb.hashCode()));
        sb.setCharAt(1,'k');//替换
        //上下两个地址是一样的
        System.out.println(Integer.toHexString(sb.hashCode()));
        sb.append('p');//追加字符
        System.out.println(sb);
        sb.reverse();//倒序
        System.out.println(sb);
        //指定位置插入,链式调用,核心是:该方法用了return this ,返回了自己
        sb.insert(2,'z').insert(0,'v');
        System.out.println(sb);
        sb.delete(0,3);//删除指定区间,也可以链式调用
        System.out.println(sb);
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值