JAVA 字符串的常用方法与技巧

本文详细介绍了Java中字符串的各种操作,包括通过地址和值比较字符串、检查字符串是否包含子串、判断字符串是否为空、获取指定索引的字符、将字符串转换为数组、替换字符串中的字符、查找字符的索引、字符串反转、删除字符串中的元素以及如何在字符串末尾添加内容。此外,还探讨了如何判断回文字符串的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class Main {
	public static void main(String[] args) {
		
		//1.判断两个字符串是否相等
		//根据地址判断(==)
		System.out.println("aetyhe"=="aetyhe"); 	//true
		System.out.println("aetyhe"==new String("aetyhe")); 	//false
		System.out.println(new String("aetyhe")==new String("aetyhe")); 	//false
		//根据值判断(.equals())
		System.out.println("aetyhe".equals("aetyhe")); 	//true
		System.out.println("aetyhe".equals(new String("aetyhe"))); 	//true
		System.out.println(new String("aetyhe").equals(new String("aetyhe"))); 	//true
		
		//2.判断字符串中是否包含某个字符串
		System.out.println("aetyhe".contains("aetyhe"));	//true
		System.out.println("aetyhe".contains("ae"));	//true
		System.out.println("aetyhe".contains("aeg"));	//false
		System.out.println("aetyhe".contains(" "));	//false
		System.out.println("aetyhe".contains(""));	//true

		//3.判断字符串是否为空
		System.out.println("aetyhe".isEmpty());	//false
		System.out.println(" ".isEmpty());	//false
		System.out.println("".isEmpty());	//true

		//4.输出字符串中的某个索引位置的字符
		System.out.println("asddffasffmmejasg".charAt(3));	//d
		
		//5.将一个字符串转换为数组
		String str="sadfjoeuiwejej";
		String[] str1=new String[str.length()];
		str1=str.split("");
		System.out.println(Arrays.toString(str1));	//[s, a, d, f, j, o, e, u, i, w, e, j, e, j]
		
		//6.将字符串中的某个值的字符替换为其它字符串
		String str2="sadfjoeusiwejesj";
		String str3=str2.replace("s", "mMM");
		System.out.println(str3);  //mMMadfjoeumMMiwejemMMj
		
		//将某片区域的字符串一起换为其它字符串
		StringBuilder str7=new StringBuilder(str2);
		//取值范围:[3,7)
		System.out.println(str7.replace(3,7,"OOO"));   //sadOOOusiwejesj
		

		//7.返回字符串中的某个值的出现的索引下标
		String str4="sadfjoeusiwejesj";
		//第一次
		System.out.println(str4.indexOf("j"));	//4
		//最后一次
		System.out.println(str4.lastIndexOf("j"));	//15
		//指定某个下标之后的第一次
		System.out.println(str4.indexOf("j",7));	//12	
		
		//8.将一个字符串逆序输出
		String str5="sjkeuhiodnwqpdk";
		StringBuilder str6=new StringBuilder(str5);
		System.out.println(str6.reverse());   //kdpqwndoihuekjs
		
		//9.删除字符串中的元素
		//某个特定值的元素
		String str8="wehtdfjwem,fghk kldw edd  ";
		System.out.println(str8.replace("we", ""));	//htdfjm,fghk kldw edd  
		System.out.println(str8.replace(" ", ""));	//wehtdfjwem,fghkkldwedd
		StringBuilder str9=new StringBuilder(str8);
		//取值范围:[3,7)
		System.out.println(str9.replace(3,7,""));	//wehwem,fghk kldw edd 
		//删除取值范围:[0,3)
		System.out.println(str9.delete(0,3));	//wem,fghk kldw edd  
		
		//10.增加字符串中的元素
		System.out.println(str9.append("MM"));	//wem,fghk kldw edd  MM


	    //11.将字符串逆序输出,并判断该字符串是否为回文字符串
		StringBuilder str1=new StringBuilder("1aa");
		//StringBuilder的equals方法并没有重写,所以和==一样都是判断地址是否相等,所以在判断是否相等时必须要加上.toString()将StringBuilder型转换为String型
		if(str1.toString().equals(str1.reverse().toString())) {
			System.out.println(str1+" "+"是回文!");
		}else {
			System.out.println(str1+" "+"不是回文!");	//aa1 不是回文!
		}
		
		StringBuilder str2=new StringBuilder("a161a");
		//StringBuilder的equals方法并没有重写,所以和==一样都是判断地址是否相等,所以在判断是否相等时必须要加上.toString()将StringBuilder型转换为String型
		if(str2.toString().equals(str2.reverse().toString())) {
			System.out.println(str2+" "+"是回文!");	//a161a 是回文!
		}else {
			System.out.println(str2+" "+"不是回文!");
		}

	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

itmengge

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

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

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

打赏作者

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

抵扣说明:

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

余额充值