java中String类及一些String类自带的常用方法

String类型概述

又爱又恨!!!
爱:
字符串基本上就是数据的保存,传输,处理非常重要的一种手段。
恨:
解析过程非常烦人,需要掌握熟记很多方法,同时需要有一定的技巧和灵性

String字符串类型是Java中引用数据类型,并且String类型是使用final修饰,没有自己的子类。

字符串的存储也是非常个性的一件事情,分两种情况,
一种是在内存的数据区
一种是在内存的堆区

字符串是一个常量!!!
字符串确定之后无法修改!!!

一些常用方法
public class Judge {
	public static void main(String[] args) {
		// String类的一些判断方法...
		
		String str = "年年岁岁花相似,岁岁年年人不同";
		
		
		String str2 = "abcdef";
		
		/*
		 * 调用了String类的endsWith方法并通过sout展示
		 * 判断当前字符串是不是以指定字符串结尾,如果是返回为true
		 */
		System.out.println(str.endsWith("不同"));
		
		/*
		 * 调用了String类的startsWith方法,该方法需要的参数是字符串类型
		 * 
		 * startsWith方法判断当前字符串开头是不是指定字符串开始。
		 * 如果是则返回true,不是返回false
		 */
		System.out.println(str.startsWith("年年"));
		
		/*
		 * 调用了String类的isEmpty方法,判断调用者是否为空
		 * ""中间没有内容就是空,如果为空返回true,不是返回false
		 */
		System.out.println(str.isEmpty());
		
		/*
		 * 调用String类的contains方法,需要参数为字符串类型
		 * 判断参数内字符串是否为调用者的子字符串,【调用者内有岁岁】,所以结果为true
		 */
		System.out.println(str.contains("岁岁"));
		
		/*
		 * 调用String类的equalsIgnireCase方法,需要字符串类型参数
		 * 判断参数和调用者的【字母】是否一致。不考虑大小写
		 */
		System.out.println(str2.equalsIgnoreCase("AbcDef"));
	}
}

获取方法

public class GetMethod {
	public static void main(String[] args) {
		
		/*
		 * String类型的获取字符串某些东西的方法,后期用的更多
		 */
		
		// 定义一个字符串
		String str = "我今天好帅,明天更帅";
		
		// 获取字符串长度
		System.out.println(str.length());
		
		// 获取字符串对应下标位置的字符
		System.out.println(str.charAt(str.length() - 1));
		
		// 获取该字符在字符串内的下标位置,【如果没找到,下标位置为负数】
		System.out.println(str.indexOf('?'));
		
		/* 找出指定字符串在当前字符串的下标位置例如要找的字符串是【帅,】下标位置就是4,
		 * 如果未找到,同样也是负数
		 */
		System.out.println(str.indexOf("帅,"));
		
		// 找出字符最后一次出现的位置,结果是下标为9的位置
		System.out.println(str.lastIndexOf('帅'));
		
		// 找出字符串最后一次出现的位置,结果是下标为6的位置,如果未找到也是返回负数
		System.out.println(str.lastIndexOf("明天"));
		
	}
}

转换方法

public class Change {
	public static void main(String[] args) {
		String str = "工欲善其事,必先利其器";
		
		char[] ch =  {'a', 'b', 'c', 'd', 'e', 'f'};
		
		
		
		/*
		 * 创建一个String类对象,调用了有参构造方法
		 * 该构造方法将一个char类型数组转换为字符串类型
		 */
		String str2 = new String(ch);
		// Str2保存的内容为abcdef
		System.out.println(str2);
		
		/*
		 * 创建一个String类对象,调用了有参构造方法
		 * 该构造方法的参数为一个字符型数组,两个int类型参数
		 * 
		 * 写法: String 对象名 = new String(字符类型数组, i, j);
		 * 
		 * 作用是将字符数组保存的内容从下标为i的元素开始,一共需要j个
		 */
		String str3 = new String(ch, 2, 3);
		// str3保存的内容为cde
		System.out.println(str3);
		
		// 这里所用的方法和无参构造方法类似
		String str4 = String.valueOf(ch);
		// 运行结果为abcdef
		System.out.println(str4);
		
		// 该方法和【str3】所用的构造方法类似
		String str5 = String.valueOf(ch, 1, 3);
		// 运行结果为bcd
		System.out.println(str5);
		
		/*
		 * toCharArray方法作用将一个字符串拆分成一个一个字符,保存到字符数组中
		 */
		char[] charArray = "你好,世界".toCharArray();
		
		// 展示charArray内容
		for (int i = 0; i < charArray.length; i++) {
			System.out.println(charArray[i]);
		}
	}
}
一些其他方法
public class Else {
	public static void main(String[] args) {
		String str1 = "  年年岁岁花相似,岁岁年年人不同  ";
		
		String str2 = "1 abcd 234";
		/*
		 * 
		 * 切割,将当前字符串按照指定字符串切割成String类型数组
		 * 
		 * 运行效果:
		 * 
		 * 		岁岁花相似,岁岁
				人不同
		 */
		String[] split = str1.split("年年");
		for (int i = 0; i < split.length; i++) {
			System.out.println(split[i]);
		}
		
		/*
		 * 将字符串从指定下标位置截取到结尾
		 * 该代码运行结果为:
		 * 
		 * 		岁岁年年人不同
		 */
		System.out.println(str1.substring(8));
		
		/*
		 * 调用对象.substring(beginIndex, endIndex);
		 * 从指定位置beginIndex开始截取,到endIndex结束
		 * 
		 * 运行效果:
		 * 		年年岁岁花相似,
		 * 
		 */
		System.out.println(str1.substring(0, 8));
		
		// 字符串中所有的英文字母转大写,返回新字符串
		System.out.println(str2.toUpperCase());
		
		// 字符串中所有的英文字母转小写,返回新字符串 
		System.out.println(str2.toLowerCase());
		
		// 去除字符串两边的空格
		System.out.println(str1.trim());
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值