String substring(int beginIndex,int endIndex)
注意:包头不包尾,包左不包右。
只有返回值才是截取的小串
string substring(int beginIndex) 截取到末尾
5.1 StringBuilder概述
StringBuilder对象可以看作一个容器,创建之后里面的内容是可变的。
作用:提高字符串的操作效率
StringBulider构造方法
方法名
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
Public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象
StringBuilder常用方法
方法名
public StringBuilder append(任何类型) 添加数据,并返回对象本身
public StringBuilder reverse() 反转容器中的内容
public int length() 返回长度(字符出现的个数)
public String toString() 通过toString()就可以实现把StringBuilder转换为String
//注意
StringBulider是Java已经写好的类,Java在底层对他做了一些特殊处理
打印对象不是地址值而是属性值。
举例:
5.2 链式编程
链式编程:当我们在调用一个方法的时候,不需要用变量接收它的结果,可以继续调用其他方法。
举例:sb.append("aaa").append("bbb").append("ccc")
使用StringBuilder场景:
字符串的拼接
字符串的反转
5.3 对称字符串
StringJoiner跟StringBuilder一样,也可以看作一个容器,创建之后里面的内容是可变的。
作用:提高字符串的操作效率,而且代码编写特别简洁,但目前很少人用。
JDK8出现的。
StringJoiner的构造方法
方法名
public StringJoiner(间隔符号) 创建一个StringJoiner对象,指定拼接时的间隔符号。
public StringJoiner(间隔符号,开始符号,结束符号) 创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号
StringJoiner的成员方法
public StringJoiner add(添加的内容) 添加数据,并返回对象本身(数据只能是字符串)
public int length() 返回长度(字符出现的个数)
public String toString() 返回一个字符串(该字符串就是拼接之后的结果)
7.1 字符串存储的内存原理
直接赋值会复用字符串常量池中的
new出来不会复用,而是开辟一个新空间
7.2 ==号比较的是什么?
基本数据类型比较数据值
引用数据类型比较地址值
7.3 字符串拼接的底层原理
拼接的时候没有变量,都是字符串。触发字符串的优化机制,在编译的时候已经是最终结果。
字符串拼接的时候有变量参与,在内存中创建了很多对象,浪费空间,时间也非常慢
结论:如果很多字符串变量拼接,不要直接+,在底层会创建多个对象,浪费时间、性能。直接用StringBuilder
7.4 StringBuilder提高效率原理图
StringBuilder是一个内容可变的容器。
所有要拼接的内容都会往StringBuilder中放,不会创建很多无用的空间,节约内存。
7.5 StringBuilder源码分析
默认创建一个长度为16的字节数组(此时容量为16,长度为0(为实际添加))
添加的内容长度小于16,直接存
添加的内容长度大于16会扩容(原来的容量*2+2)
如果扩容之后还不够,以实际长度为准
到此这篇ifstream读取字符串转换成数字(ifstream读取所有内容)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/33324.html