基于Java的String字符串基本用法总结

本文总结了Java中String类的基本用法,包括三种创建字符串的方式:直接创建、堆中开辟空间和从字符数组转换。详细介绍了String类的常用方法,如equals()、valueOf()、format()、charAt()等,涵盖了字符串比较、转换、操作等方面,帮助理解Java字符串的使用。
摘要由CSDN通过智能技术生成

在Java中,String类是字符串操作类,提供了多种方法对字符串进行操作,经过学习对String类的常用方法总结如下:

一、String字符串的创建

由于String类位于Java的lang包下,所以在使用时不需要通过import引入(导包)。String类是final类,不能被继承,对象创建后不可修改,并且由0或多个字符组成,包含在一对双引号之间。其次String类其实是通过char数组来保存字符串的,它值是不可变的。
所以,字符串的创建方式有如下3种:

首先,我们应该知道,每当我们创建一个字符串对象时,首先就会检查字符串常量池中是否存在面值相等的字符串,如果有,则不再创建,直接返回字符串常量池中对该对象的引用;若没有,则创建然后放入到字符串常量池中并且返回新建对象的引用。这个机制是非常有用的,因为可以提高效率,减少了内存空间的占用。

方式1:在字符串池里直接创建

		String str1 = "just so so";` 
		String str2 = "just so so";
		str2="just do it"

由于字符串池里已经有了“just so so”,所以当再定义String str2 = "just so so"时,str2不会再重新创建新字符串,而是会指向原来的字符串地址。
str2="just do it"时, str2重新创建新字符串"just do it"并指向了新的字符串地址。

方式2: 在堆中开辟空间,创建并保存字符串

		String str3 = new String("just go go"); 

这种方法不仅在字符串池中创建了“just go go”,还在堆中开辟了一片内存,用来存储该字符串在字符串池里的地址。

方式3:将字符数组,转换成字符串

		char[] chs = {
   'g','o','g','o','!'};
		String str4 = new String(chs);
		System.out.println(str4);

二.String类的常用方法

1. equals() : 方法

== : 运算符,基本数据类型进行值的比较,引用数据类型进行内存地址的比较
equals() : 方法,基本数据类型没有方法,引用数据类型(String)进行值(字符串内容)的比较

		// 基本数据类型
		// int a = 12, b = 45;
		System.out.println(a == b);//false

		// 引用数据类型String
		String str1 = "gogo";
		String str2 = "gogo";
		//引用数据类型进行内存地址的比较
		String str3 = new String("gogo");
		System.out.println(str1 == str2);//true
		System.out.println(str1 == str3);//false
		
		Scanner input = new Scanner(System.in);
		String str4 = input.nextLine();
		String str5 = input.nextLine();
		System.out.println(str4 == str5);//false
		
		//字符串内容的比较
		boolean isEquals = str4.equals(str5);
		System.out.println(isEquals);

2. String.valueOf()

功能:将指定类型转换为字符串类型
传入:需要转换的其他类型的数据(int,double,float,boolean,char[ ]数组)
返回:转换后的字符

		// int => String
		String strInt = String.valueOf(123);
		System.out.println(strInt);

		// double => String
		String strDouble = String.valueOf(15.98);
		System.out.println(strDouble);

		// boolean => String
		String strBoolean = String.valueOf(true);
		System.out.println(strBoolean);

		char[] array = {
    65, 66, 67, 68, 69 };
		String strArray = String.valueOf(array);
		System.out.println(strArray);

3. String.format( )

功能:按照指定的格式字符串(”%d-%s-%f “),创建生成新字符串

传入:参数1:格式字符串(%s,%d,%f)
参数x:动态参数值(依次按占位符的位置,传入对应的值)

返回:按照格式,产生的新字符串

		// 案例1
		int num1 = 15, num2 
  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值