Java字符串

String类

基本数据类型char只能表示单个字符,不能表示由多个字符连接而成的字符串,Java中将字符串作为对象来处理,可以通过java.lang包中的String类来创建字符串对象

声明字符串

Java中的字符串包含在一对双引号(" ")之内

变量声明:String str;

创建字符串

Java可以像创建类对象一样来new字符串对象,String类的常用构造方法如下:

  1. 用字符数组创建String对象
char a[] = {'g','o','o','d'};

String s = new String(char a[])

String s = new String(char a[],int offset, int length)  
//截取字符数组的一部分创建字符串对象,offset为起始下标,length为截取长度
  1. 通过引用字符串常量创建字符串变量
String s1,s2;
s1 = "we are hero"
s2 = "we are hero"

此时s1、s2引用相同的字符串常量,具有相同的实体。

连接字符串

‘+’运算符可实现连接多个字符串的功能,连接多个字符串并返回一个String对象。

字符串也可以与其他基本数据类型连接,连接时会将这些数据直接转换为字符串,自动调用他们的toString()方法。

只要‘+’运算符的一个操作数是字符串,编译器就会将另一个操作数转为字符串形式

获取字符串信息

int size = str.length()   //获取字符串对象的长度

字符串查找

str.indexOf(String s)    //返回参数字符串s在str中首次出现的索引位置,没有则返回-1
str.lastIndexOf(String s)    返回参数字符串s在str中最后出现的索引位置,没有则返回-1

获取指定位置的字符

str.charAt(int index)

字符串操作

获取子串

str.substring(int beginIndex, int endIndex)    //返回str从begin到end的子串,end省略表明截到结尾

去除空格

str.trim()    //返回去除签到空格和尾部空格的子串副本

字符串替换

str.replace(char oldChar, char newChar)    //返回将str中的指定字符或字符串替换为新的字符或字符串的副本
//注意只能字符换字符,字符串换字符串,不能字符换字符串

判断开始结尾

str.startsWith(String prefix)    //判断str是否以prefix子串开头,返回true或false
str.endsWith(String suffix)

字符串判等

字符串对象判等不能简单的‘==’,因为比较运算符比较的是两个字符串的地址,而不是内容

str.equals(String otherstr)    //当两个字符串具有相同的字符和长度,返回true
str.equalsIgnoreCase(String otherstr)    // 相比于equals,比较时对大小写不敏感

字典顺序比较

str.compareTo(String otherstr)    //两串相等返回0,str位于参数串前则返回负整数,否则返回正整数

字母大小写转换

str.toLowerCase()    //将str全部转为小写字母并返回
str.toUpperCase()    //将str全部转为大写字母并返回

字符串分割

str.split(String sign, [int limit])    //以sign为分割符分割字符串,limit为分割次数

格式化字符串

String的静态方法format()用于创建格式化的字符串,该方法有两种重载形式:

str.format(String format, Object···args)    //返回一个格式化字符串

日期时间字符串格式化

日期格式化

Date date = new Date()    创建Date对象date
String s = String.format("%tY", date)    四位年份
String s = String.format("%ty", date)    二位年份
String s = String.format("%tm", date)    月份
String s = String.format("%tb", date)    指定语言环境的月份简称(Feb、二月)
String s = String.format("%tB", date)    指定语言环境的月份全称(February、二月)
String s = String.format("%tj", date)    一年中的第几天
String s = String.format("%ta", date)    星期几简称
String s = String.format("%tc", date)    全部日期时间信息

时间格式化

常规类型格式化

正则表达式

字符串生成器

创建好的字符串对象,其长度是固定的,内容无法被改变和编译,虽然‘+’可以达到附加新船的目的,但这样会产生一个新的String实例,占用新的内存空阿金,极大地增加了系统开销。

J2SE 5.0 新增了可变的字符序列String-Builder类,大大提高了频繁增加字符串的效率。
如果要频繁的附加字符串,建议使用StringBuilder。

该类的常用方法如下:

append(content)    向字符串生成器中追加内容,该方法可接受任意类型的数据
insert(int offset, content)    向指定位置插入数据,0<offset<=序列长度
delete(int start, int end)    移除生成器中的子串,[start, end)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值