String类和StringBuilder

String类和StringBuilder

Scanner键盘录入字符串:

String next():遇到空格或者tab键,就不再录入了;

String nextLine():以回车作为录入结束标记

如果键盘录入所有的数据均是字符串,用nextLine();

如果数据除了字符串,还有其他数据类型,用next();

String字符串虽然不可以更改(内容),但是可以被共享;

字符串常量池:双引号创建字符串对象时,会检查常量值中是否存在该数据;不存在,则创建;存在,则复用。

不同的JDK版本,则常量池存在位置不同;JDK7之前,常量池在方法区;JDK7开始以及以后的版本,常量池在堆内存;

常量优化机制:给一个变量赋值,如果等于号的右边是常量的表达式并且没有一个变量,那么就会在编译阶段计算该表达式的结果,然后判断该表达式的结果是否在左边类型所表示范围内,如果在,那么就赋值成功,如果不在,那么就赋值失败。但是注意如果一旦有变量参与表达式,那么就不会有编译期间的常量优化机制**

字符串比较

public boolean equals(object anobject):将此字符串与指定的对象比较。

public boolean equalsIdnoreCase(object anobject):将此字符串与指定的对象比较,且忽略大小写。

字符串的遍历

public char[] toCharArray():将此字符串转换为一个新的字符数组;

ctrl+alt+m抽取成一个方法;类中方法不加static,如果方法与主方法平级,就不要带static,否则就带static。

public charAt(int index):返回指定索引处的字符。

public int length():返回字符串的长度;

String类的截取-替换-切割方法

public String substring(int beginIndex):根据传入的索引开始做截取,截取到字符串的末尾;

public String substring(int beginIndex,int endIndex):根据传入的开始和结束索引进行截取,包含头,不包含尾。

public String replace(看API文档)、String[] split(String[] regex):根据传入的字符串作为规则,切割当前字符串,'.'代表任意字符,通配符,想要实现‘.’切割的话,

用’\\.';

StringBuilder类

StringBuilder 引入提高了字符串操作效率;

StringBuilder一个可变的字符序列;StringBuilder是字符串缓冲区,将其理解为容器,可以存储任意类型数据,只要进入这个容器,全部变成字符串。

打印StringBuilder对象名的时候也是字符串;

构造方法:

无参(初始容量为16个字符),超出16,自动扩容;

带参(String str):构造一个字符串生成器,并初始化为指定的字符串内容。容器在创建好之后就带有参数。

常用成员方法:

public StringBuilder append(任意类型) 添加数据,并返回对象本身;

链式编程:调用的方法,返回的结果是对象,就可以继续向下调用方法;s.append().append().append()…

public StringBuilder reverse()反转容器中的内容;

public String toString() 通过toStirng()就可以实现把StringBuilder转换为String

public int length()返回长度(字符出现的个数)

StringBuilder的实例用于多个线程是不安全的,StringBuffer是线程安全的。除此之外,其他的相同。线程安全的一般效率偏低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值