学习字符串时的一些知识点(来源书上,仅供个人学习使用)

1、字符串本身的几个常用方法:返回字符串长度length();字符串内容比较equals();转化为大写toUpperCase();转化为小写toLowerCase();

2、用静态(static)分解方法将字符串分解为数值类型
方法                                                                        说明
Byte.parseByte(字符串)                                 将字符串分解为位
Short.parseShort(字符串)                              将字符串分解为short整数
Integer.parseInt(字符串)                               .将字符串分解为int整数
Long.parseLong(字符串)                               将字符串分解为long整数
Float.parseFloat(字符串)                               将字符串分解为flot整数
Double.parseDouble(字符串)                        将字符串分解为double浮点数

3、字符串的本质是由字符数组所组成,可以使用索引取得字符。
返回值类型             方法                                                                              说明

char            charAt(int index)                                返回指定索引处字符

int               indexOf(int ch)                                   返回指定字符第一个索引位置

int               indexOf(String str)                             返回指定字符串第一个索引位置

int               lastIndexOf(String str)                        返回指定字符串最后一个索引位置

String          substring(int beginIndex)                     取出指定索引处到尾端的子字符串

String         substring(int beginIndex,int endIndex)   取出指定索引范围内子字符串

char[]          toCharArray()                                     将字符串转为字符数组

boolean       endsWith()                                         判断字符串是不是以指定文字结束

4、不可变(immutable)字符串。一个字符串对象一旦被配置,它的内容就是固定不变的。

java在执行时,会维护一个String池(pool),对于一些可以共享的字符串对象,会先在String池中查找是否存在相同内容的String对象,如果有就直接返回,而不是直接创造一个新的String对象,以减少内存消耗。(Flyweight模式)。

例如:String str1="flyweight";

            String str2="flyweight";

            System.out.println(str1==str2);      (运行结果为:true)

5、String的intern()方法。在intern()方法被调用时,如果池(pool)中已经包括了相同的String对象,那么会从池中返回该字符串,否则原String对象加入池中,并返回这个对象的引用。

      String str1="fly";
        String str2="weight";
        String str3="flyweight";
        String str4=(str1+str2).intern();
        System.out.println(str4==str3);            (运行结果为:true,如果没有使用intern()方法,则结果为false)

6、不建议使用+来进行字符串的串联,因为这样会产生新的String实例。

×可以使用StringBuilder类,然后使用append()方法来附加字符,提高效率。

×StringBuilder类最后要输出字符串结果,可以使用toString()方法。

×返回对象的字符长度,使用length()方法;

×返回该对象目前可容纳的字符亮,使用capacity()方法;

×将字符插入指定位置,使用insert(int index,String str)方法;

×删除指定位置的字符,使用deleteCharAt(int index)方法;

×反转字符串,使用reverse()方法。

7、StringBuilder类用在单机非多线程下使用,不用处理同步(Synchronized)问题。

      StringBuffer类则会处理同步问题,在多线程时使用。

8、命令行变量。在启动一个java程序时,也可以同时指定变量。String []args,目的就是接受一个字符串数组。

(命令行启动java:)java xxx(程序名) 变量1(空格)变量2(空格)变量3

变量以空格为区隔,顺序存储在args数组中。args[0]对应的是变量1,args[1]对应变量2.。。。

9、分离字符串。split()依据所设置的“分隔设置”,将字符串分隔为数个子字符串,并以String数组返回。

String text="123t456t789t";
String [] sp=text.split("t");

//"t"就是“分隔设置”,返回数组
for(String st:sp)
    System.out.println(st);

10、使用正则表达式。

11、Pattern和Matcher

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值