String

String 来自 java.util.lang
lang->language的简写
String类封装了一个char[]数组


char数组

创建字符串对象

char[] a={'l','o','v','e'};
String s=new String(a);

语法可简化为

String s="love";

◆字符串的常量池
第一次用到一个字符串的字面值"love"
在"字符串常量池"中新建对象
再次用到相同的字面值时
访问“常量池”中已经存在的对象
String s2=new String("love");
字面值在常量池新建一个对象
new 在堆内存再新建一个对象


常量池

◆字符串不可变

String s1="I";
String s2="love";
String s3="China";

字符串加号连接如下

String s4=s1+s2+s3;

会新建对象,一个加号新建一个对象,连接多次,效率低下

而String s4="I"+"love"+"China";
字符串字面值做连接,效率不低
编译器优化为

String s4="IloveChina";

方法:
charAt(i)获得指定位置的char字符
indexOf(子串)查找子串的起始位置
不存在,返回-1
indexOf(子串,起始位置)从指定的位置向后查找
lastIndexOf(子串)从后向前查找
substring(start,end)截取[start,end)
trim()去除两端的空白字符串
length()字符串长度,字符数量

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,386评论 18赞 399
  • Tip:笔者马上毕业了,准备开始 Java 的进阶学习计划。于是打算先从 String 类的源码分析入手,作为后面...
    石先阅读 12,145评论 16赞 58
  • 花落,无声也优雅;月缺,不美也诗意。缺憾是一种忧伤的美,是一枝独秀的幽深,深藏在飘扬的风姿中,落座哪里都是一帧幽幽...
    九霄雲客_阅读 573评论 0赞 1
  • 下班前刘明浩手机响了,清脆的铃声在寂静的办公区里显得尤为突兀。扫眼号码愣怔倆秒,这是他曾经打了无数次的号码...
    pengbaoer阅读 186评论 3赞 1

友情链接更多精彩内容