小白学习之JavaSE-day09-String与基本类型、包装类型的转换,StringBuffer的使用

一、基本类型、包装类型和String之间的互相转换

在这里插入图片描述

  • 直接上代码(有问题的地方希望大家能指出来,谢谢啦)
/*
		 * 	基本类型转包装类型
		 */
		//	1、构造方法
		int m = 12;
		Integer in = new Integer(m);
		
		//	2、自动装箱
		Integer it = m;

		//	3、静态valueOf
		Integer it1 = Integer.valueOf(m);
		
		/*
		 * 	包装类型转基本类型
		 */
		//	1、自动拆箱
		Integer it2 = new Integer(5);
		int h = it2;
		
		//	2、xxxValue
		h = it2.intValue();
		
		/*
		 * 	字符串转包装类型
		 */
		//	1、包装类的构造方法
		String str = "123";
		Integer er = new Integer(str);
		System.out.println(er);
		
		//	2、包装类的valueOf
		Integer er1 = Integer.valueOf(str);
		
		/*
		 * 	包装类型转字符串
		 */
		//	1、String类中的valueOf
		String str1 = "123";
		Integer er2 = Integer.valueOf(str1);
		String str2 = String.valueOf(er2);
		
		//	2、包装类中的toString方法
		String str3 = er2.toString();
		
		/*
		 * 	字符串转基本类型
		 */
		//	借助对于的包装类中的parseXxx
		int p = Integer.parseInt(str3);
		
		/*
		 * 	基本类型转字符串
		 */
		//	1、基本类型+" "
		String s = 1234+"abc";
		
		//	2、静态valueOf
		int a = 1234;
		String s1 = String.valueOf(a);
		
		//	3、对于包装类中静态toString
		int b = a;
		String s2 = Integer.toString(b);
		

二、字符串缓冲区

由于字符串是常量不能改变,因此在程序中经常需要对字符串进行操作,这时如果直接使用String类中的部分方法操作,其实是在内存中不断的生成新的字符串。其中就会存在部分字符串没有使用价值。

在JDK中提供的字符串缓冲区,它主要目的是对字符串进行CRUD操作。

缓冲区:临时存储数据的空间。然后可以在临时区域中对数据进行更改操作。

字符串缓冲区:

  • StringBuffer:多线程操作安全,但是相对效率较低
  • StringBuilder:多线程(并发)不安全,但是效率高,针对单线程的程序优先使用。

2、StringBuffer

2.1、StringBuffer介绍

在这里插入图片描述

StringBuffer:它是final修饰,不能被继承。

在这里插入图片描述

	/*
	 * 	创建字符串缓冲区对象
	 */
	private static void demo1() {
		//	创建字符串缓冲区对象,其中没有任何的字符数据
		StringBuffer sb = new StringBuffer();
		
		sb.append("abcdefg1234");
		//	length() : 容器中字符个数
		int len = sb.length();
		System.out.println(len);
		//	capacity() : 当前容器能够存放的最大值
		int capacity = sb.capacity();
		System.out.println(capacity);
	}

2.2、添加方法

	/*
	 * 	字符串缓冲区中的添加方法
	 */
	private static void demo2() {
		
		StringBuffer sb = new StringBuffer();
		//	调用append是给缓冲区的后面添加数据
		sb.append('A');
		sb.append(12);
		sb.append(3.14);
		sb.append("neu");
		
		//	在缓冲区指定的位置上添加数据
		sb.insert(3, "BB");
		
		//	字符串缓冲区操作完之后,一般都需要将数据统一转成一个字符串
		String s = sb.toString();
		System.out.println(s);
	}

2.3、删除和修改

	/*
	 * 	删除和修改
	 */
	private static void demo3() {
		StringBuffer sb = new StringBuffer("neusoft");
		//	删除指定位置上的字符
		sb.deleteCharAt(1);
		System.out.println(sb.toString());
		//	从指定start的位置删除到end位置
		sb.delete(1, 3);
		System.out.println(sb.toString());
		
		//	修改指定位置上的字符数据
		sb.setCharAt(0, 'A');
		System.out.println(sb.toString());
		
		//	反转字符串
		sb.reverse();
		System.out.println(sb.toString());
	}

2.4、替换

	//	替换
	private static void demo4() {
		StringBuffer sb = new StringBuffer("   neu    so   ft       ");
		//sb.replace(0 , 2, "NEU");
		System.out.println(sb.toString());
		sb.trimToSize();
		System.out.println(sb.toString());
		
		String s = "   neu   soft   ";
		//	trim是String中的一个方法,用于去除字符串收尾的空白
		//	会生成一个新的串
		String s2 = s.trim();
		System.out.println(s);
		System.out.println(s2);
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值