• StringBuffer__【String类的应用】【基本数据类型包装类】




    StringBuffer

    字符串缓冲区,容器,面盆理论,

    特点: 长度可变;可以直接操作将多种数据类型;通过toString方法变成字符串

    		StringBuffer sb = new StringBuffer();
    		StringBuffer sb1 =sb.append("fes");
    		sop("sb==sb1:"+(sb==sb1));
    输出结果为:true

    ==比较的是内存首地址,sb==sb2说明指向同一个缓冲区

    StringBuffer被final修饰,所以不能被继承


    增删改查
    1,存储
    StringBuffer append();在尾部添加
    StringBuffer insert(index,数据);在指定位置添加
    2,删除
    StringBuffer delete(start, end);删除缓冲区中数据,包含start不包含end
    StringBuffer deleteCharAt(index);删除自定位置的字符
    3,获取。
    char charAt(int index) 
    int indexOf(String str) 
    int lastIndexOf(String str) 
    int length() 
    String substring(int start, int end) 
    4,修改。
    StringBuffer replace(start,end,string);头,尾,被替换内容
    void setCharAt(int index, char ch) ;替换一个字符,只替换,不返回
    5,反转。
    StringBuffer reverse();

    6,将缓冲区中指定数据存储到指定字符数组中。
    void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 

    JDK1.5 版本之后出现了一个兼容的APT;StringBuilder.;
    StringBuffer是线程同步。 多线程
    StringBuilder是线程不同步。 单线程
    以后开发,建议使用StringBuilder ;效率更高
    升级三个因素:提高效率,简化书写,提高安全性

    常见操作示例

    class StringTest
    {
    	public static void sop(String str){
    		System.out.println(str);
    	}
    	public static void main(String[] args){
    		//method_add();
    		//method_dell();
    		//method_update();
    		method_6();
    	} 
    	
    	public static void method_6(){
    		StringBuffer sb= new StringBuffer("abcdefg");
    		char[] chs = new char[6];
    		
    		sb.getChars(1,5,chs,2);//将缓冲区指定字符串存到指定数组中的指定位置
    		for(int x=0;x<chs.length ;x++){
    			sop("chs["+x+"]="+chs[x]);
    		}
    	}
    	
    	public static void method_update(){//改
    		StringBuffer sb = new StringBuffer("0123456789abcd");
    		sb.replace(3, 5, "Hello");//替换	从指定位置到指定位置	包含头不包含尾
    		sb.setCharAt(2, 'm');	//替换指定角标字符	返回值为void要注意
    		sop(sb.toString());
    	}
    	
    	public static void method_dell(){	//删
    		StringBuffer sb = new StringBuffer("0123456789abcd");
    		sb.delete(6, 11);//聪6到11,包含头不包含尾
    		sb.deleteCharAt(1);//删除1角标上字符
    		sb.delete(0, sb.length());//清空缓冲区
    		sop(sb.toString());
    	}
    	
    	public static void method_add(){	//增
    		StringBuffer sb = new StringBuffer();
    		
    		sb.append("apppend").append("hello").append("world");//添加在尾部
    		
    		sb.insert(2," haha ");//插入到指定位置
    		//StringBuffer sb1 =sb.append("fes");
    		//sop("sb==sb1:"+(sb==sb1));
    		sop(sb.toString());
    		//sop(sb1.toString());
    	}
    }
    

    基本数据类型对象包装类


    基本数据类型对象包装类。
    byte Byte
    short short
    int Integer
    long Long
    boolean Boolean
    float Float
    double Double
    char Character

    基本数据类型对象包装类的最常见作用,
    就是用于基本数据类型和字符串类型之间做转换

    基本数据类型转成字符串。

    基本数据类型+""
    基本数据类型.toString(基本数据类型值);
    如: Integer.toString(34);//将34整数变成"34";

    字符串转成基本数据类型。parse

    xxx a = Xxx.parseXxx(String);
    int a = Integer.parseInt("123");
    double b = Double.parseDouble("12.23");
    boolean b = Boolean.parseBoolean("true");
    Integer i = new Integer("123");
    int num = i.intValue();


    十进制转成其他进制。
    toBinaryString();
    toHexString();
    toOctalString();


    其他进制转成十进制。
    parseInt(string,radix);

    基本数据类型包装类示例

    class IntegerDemo 
    {
    	public static void sop(String str)
    	{
    		System.out.println(str);
    	}
    	public static void main(String[] args)
    	{
    		//Integer x = new Integer(4);
    		Integer x = 4;//自动装箱,对象不能为null	new Integer(4);
    		x = x+2; //x进行自动拆箱,变成int类型,运算后再将结果装箱赋给x
    			//拆箱原理:x.intValue()
    
    		Integer a = 128;
    		Integer b = 128;
    		Integer m = 127;
    		Integer n = 127;
    		
    		sop("a==b:"+(a==b));//false	开辟新空间,不是同一个对象
    		sop("m==n:"+(m==n));//true 新特性:当数值在byte范围内时,如果该数值已经存在,不开辟新空间
    	}
    	
    	public static void method_trans()		//数据类型转换
    	{
    		int num = Integer.parseInt("123");//将字符串""转换成int型
    		long x = Long.parseLong("123");
    		//sop("num="+num);
    		//sop("x="+x);
    		sop(Integer.toBinaryString(60));//将十进制转换成二进制
    		sop(Integer.toHexString(60));//将十进制转换成16进制
    		sop(Integer.toOctalString(60));//将十进制转换成八进制
    		
    		sop("x="+ Integer.parseInt("1111",16) );//将其他进制转换成十进制
    	}
    	public static void method_equals()		//Integer复写了Object类中的equals方法
    	{
    		Integer x= new Integer ("123");
    		Integer y= new Integer (123);
    
    		sop("x==y:       "+(x==y));		//是否同一个对象
    		sop("x.equals(y):"+x.equals(y));//是否相等,
    	}
    }



  • 相关阅读:
    小程序--获取手机型号
    小程序---换行
    小程序 页面禁止左右上下滑动
    小程序---数据列表 隔行变色
    小程序 视频播放出来的坑
    小程序-----上传图片
    小程序---提交成功弹框
    小程序——Tab切换
    接收请求参数及数据回显
    重定向与转发
  • 原文地址:https://www.cnblogs.com/Joure/p/4337225.html
Copyright © 2020-2023  润新知