Java字符串核心知识点详解
本文详细讲解Java字符串核心知识点涵盖String概念、创建方式、常用API、字符串比较、拼接、转换、StringBuffer与StringBuilder。一、字符串基本概念字符串是由多个字符组成的字符序列Java中使用String类表示属于引用数据类型。字符串一旦创建内容不可更改具备不可变性。二、字符串创建方式1. 直接赋值创建publicclassStringCreateDemo{publicstaticvoidmain(String[]args){// 常量池创建字符串Stringstr1Java编程;Stringstr2Java编程;}}2. new对象创建// 堆内存创建字符串对象Stringstr3newString(双栈小码哥);// 字符数组转为字符串char[]charArr{a,b,c};Stringstr4newString(charArr);// 字节数组转为字符串byte[]byteArr{97,98,99};Stringstr5newString(byteArr);三、字符串内存特点直接赋值方式会存入字符串常量池重复内容只会创建一份内存new方式每次都会在堆内存生成新对象字符串内容无法直接修改修改本质是生成新字符串四、字符串常用判断方法publicclassStringJudgeDemo{publicstaticvoidmain(String[]args){Strings1hello;Strings2Hello;// 判断内容是否相同System.out.println(s1.equals(s2));// 忽略大小写判断相等System.out.println(s1.equalsIgnoreCase(s2));// 判断字符串是否为空System.out.println(s1.isEmpty());// 判断是否以指定前缀开头System.out.println(s1.startsWith(he));// 判断是否以指定后缀结尾System.out.println(s1.endsWith(lo));}}五、字符串获取与截取方法publicclassStringGetDemo{publicstaticvoidmain(String[]args){StringstrJavaPython;// 获取字符串长度intlenstr.length();// 根据下标获取单个字符charcstr.charAt(3);// 查找字符首次出现下标intindexstr.indexOf(P);// 截取指定区间字符串Stringsub1str.substring(4);Stringsub2str.substring(0,4);}}六、字符串转换、分割与替换publicclassStringOperateDemo{publicstaticvoidmain(String[]args){StringmsgJava And Python;// 字符串转字符数组char[]arrmsg.toCharArray();// 全部转为小写Stringlowermsg.toLowerCase();// 全部转为大写Stringuppermsg.toUpperCase();// 替换指定字符内容StringnewMsgmsg.replace(And,和);// 按照符号分割字符串String[]splitArrmsg.split( );}}七、字符串拼接1. 加号拼接Stringa2026;Stringb教程;Stringresab;2. concat方法拼接Stringresulta.concat(b);八、可变字符串类1. StringBuilder 非线程安全效率高publicclassStringBuilderDemo{publicstaticvoidmain(String[]args){StringBuildersbnewStringBuilder();// 追加内容sb.append(Java);sb.append(基础);// 插入内容sb.insert(0,2026);// 反转字符串sb.reverse();// 转为String类型Stringstrsb.toString();}}2. StringBuffer 线程安全效率偏低StringBuffersbfnewStringBuffer();sbf.append(编程学习);三类字符串对比String内容不可变少量拼接使用StringBuilder可变字符单线程大量拼接首选StringBuffer可变字符多线程并发场景使用我是双栈小码哥点赞收藏关注希望本文能对您的学习和工作有所帮助。