Java基础知识回顾之Stirng类常用方法(一)

说明

String 类在所有开发中用到的次数特别多,String类中也提供了大量的对字符串操作的方法。下面就一个个的看下常用的那部分方法。先给出官网地址:传送门

个人整理相关连接:

  1. Java基础知识回顾之Stirng类
  2. Java基础知识回顾之Stirng类常用方法(一)
    主要介绍:字符串与字符、字节与字符串、字符串的比较、字符串的查找方法
  3. Java基础知识回顾之Stirng类常用方法(二)
    主要介绍:字符串替换、字符串截取、字符串拆分、字符串常用方法

字符串与字符

在很多语言中都是利用了字符数组的概念描述字符串的信息,这点在 Java String 类的方法也有所体现。

No.方法名称类型描述
1public String(char[] value)构造方法将字符数组变为 String 类对象
2String(char[] value, int offset, int count)构造方法将部分数组变为 String 类对象
3public char charAt(int index)普通方法返回指定索引对应的字符信息
4public char[] toCharArray()普通方法将字符串以字符数组的方式返回

代码实例

public class StringTest {

	public static void main(String[] args) {
		String str = "hello";
		
		//  取出指定索引的字符
		char c = str.charAt(0);
		System.out.println(c);	// h
		
		// 将字符串变为字符数组
		char[] data = str.toCharArray();
		for( char temp: data ){
			System.out.println(temp);	// h e l l o
		}
		
		// 将字符数组变为String类对象
		 String str1 = new String( data );
		 System.out.println(str1);		// hello
		 
		 // 将部分字符数组变为 String 类对象
		 String str2 = new String(data, 1, 2);
		 System.out.println(str2);		// el
	}
}

字节与字符串

字节使用 byte 描述,使用字节一般主要用于数据的传输或者进行编码转换。在 String 类中就提供了将字符串变为字节数组的操作。

No.方法名称类型描述
1public String(byte[] bytes)构造方法将字节数组变为 String 类对象
2String(byte[] bytes, int offset, int count)构造方法将部分数组变为 String 类对象
3public byte[] getBytes()普通方法将字符串变为字节数组
4public byte[] getBytes(String charsetName) throws UnsupportedEncodingException普通方法进行编码转换

代码实例

将字符串转换为字节数组

public class TestDemo {

	public static void main(String[] args) {
		String str = "helloworld";
		
		// 将字符串转换为字节数组
		byte[] data = str.getBytes();
		for (int i = 0; i < data.length; i++) {
			data[i] -= 32;	// 将小写字母变为大写字母
		}
		System.out.println(new String(data));	// 输出:HELLOWORLD
	}
}

字符串的字符集转换

public class TestDemo {

	public static void main(String[] args) throws UnsupportedEncodingException {
		String str = "王麻子";
		
		// 将字符串以 GB2312 的字符集取出,然后以 ISO-8859-1 字符集编码
		String newStr = new String(str.getBytes("GB2312"),"ISO-8859-1");
		// 相当于
		String str1 = "麻子";
		byte[] tbyte = str.getBytes("GB2312");//str 用GB2312编码方式取出
		String newStr1 = new String(tbyte,"ISO-8859-1");//将tbyte转换为ISO-8859-1编码形式
	}
}

字符串的比较

No.方法名称类型描述
1public boolean equals(String anObject)普通方法比较字符串内容是否相等(区分大小写)
2public boolean equalsIgnoreCase(String anotherString)普通方法比较字符串内容是否相等(不区分大小写)
3public int compareTo(String anotherString)普通方法判断两个字符串的大小(按照字符编码比较,区分大小写)。返回值为0:表示比较的字符串内容相等;返回值大于0:表示大于的结果; 返回值小于0:表示小于的结果
4public int compareToIgnoreCase(String anotherString)普通方法判断两个字符串的大小(按照字符编码比较,不区分大小写)。返回值为0:表示比较的字符串内容相等;返回值大于0:表示大于的结果; 返回值小于0:表示小于的结果

代码实例

public class TestDemo {

	public static void main(String[] args) throws UnsupportedEncodingException {
		String str = "helloworld";
		String srb = "hElloWorld";
		
		System.out.println(str.equals(srb));	// false
		System.out.println(str.equalsIgnoreCase(srb));	// true
		
		String str1 = "hello";
		String srb1 = "hEllo";
		
		System.out.println(str1.compareTo(srb1) );	// 32 表示 str 大于 srb
		System.out.println(str1.compareToIgnoreCase(srb1) );	// 0 表示相等
	}
}

字符串的查找方法

从一个完整的字符串中判断一个字字符串是否存在。

No.方法名称类型描述
1public boolean contains(CharSequence s)普通方法判断指定的内容是否存在(JDK1.5 以上版本使用)
2public int indexOf(String str)普通方法由前向后查找指定字符串位置,如果查到了就返回(第一个字母)位置的索引,如果没有找到就返回 -1
3public int indexOf(String str, int fromIndex)普通方法由指定位置从前向后查找指定字符串位置,找不到返回 -1.
4public int lastIndexOf(String str)普通方法由后向前查找指定字符串的位置,找不到返回 -1
5public int lastIndexOf(int ch, int fromIndex)普通方法从指定位置由后向前查找指定字符串的位置,找不到返回 -1
6public boolean startsWith(String prefix)普通方法判断是否以指定的字符串开头
7public boolean startsWith(String prefix, int toffset)普通方法从指定位置判断是否以指定的字符串开头,是就返回true,否就返回 false
8public boolean endWith(String suffix)普通方法判断是否以指定的字符串结尾,是就返回true,否就返回 false

代码实例

public class TestDemo {

	public static void main(String[] args) throws UnsupportedEncodingException {
		String str = "helloworld";
		
		/* indexOf */
		// 返回满足条件单词的第一个字母索引
		System.out.println(str.indexOf("world"));  // 5
		// 返回的是第一个查找到的索引位置
		System.out.println(str.indexOf("l"));	 // 2
		
		// 查找第二个 l 的位置,从下标为3开始查找
		System.out.println(str.indexOf("l", 3));
		
		/* contains */
		// 是否包含指定的字符串
		System.out.println(str.contains("or"));	// true
		
		/* startsWith 与  endsWith*/
		System.out.println(str.startsWith("he"));	// true
		System.out.println(str.endsWith("ld"));		// true
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wayfreem

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值