一、字符相关类型

分类:

1.不可变的字符序列:

String类

2.可变的字符序列:

StringBuilder类——->线程不安全的 执行效率相对较高

StringBuffer类——->线程安全的 执行效率相对较低

二、不可变的字符序列—-String类

2,1构造方法

参数为字符数组://String str=new String(new char[]{‘a’,’b’,’c’});

参数为字符数组+偏移量+count://String str=new String(new char[]{‘a’,’b’,’c’,’d’},0,3);

// 第一个参数 char数组

// 第二个参数 偏移量 从数组中第几个数据开始写入String字符串

// 第三个参数 count 写几个

// 偏移量+ count 不能超过数组的长度

参数为字节数组://String str=new String(new byte[]{1,2,3});

直接赋值://String str=“abc”;

2,2基本方法

1)用来创造新字符串的方法

拼接:str.Concat(str)【拼接字符串】

替换:str.replace(要被替换的str,用于替换的)

替换:replaceAll(String regex, String replacement)

替换第一个:String replaceFirst(String regex, String replacement)

截取:str.substring(int beginIndex)或者str.substring(int beginIndex, int endIndex)

转换为小写:str.toLowerCase()

转换为大写:toUpperCase()

去除首尾空格:str.trim()

2)查找字符的方法

匹配开头返回Boolean:str.startsWith(String prefix, int toffset) 【prefix为匹配的字符串,offset偏移量】或startsWith(String prefix)

匹配结尾:str.endsWith(String suffix)

字符串第一次出现的位置:indexOf(str) 或indexOf(str, int fromIndex) 【fromIndex为从哪个下标开始找】(没有返回-1,下同)

字符串最后一次出现的位置:lastIndexOf(int ch) 或lastIndexOf(int ch, int fromIndex) 【fromIndex是从左向右数,然后从这个位置向左去匹配】

【该字符串是否含有指定字符串】contains(string regex) //参数为判断的字符串

3)比较字符的方法

判断内容是否相等:str.equals(str)

忽略大小写比较:str.equalsIgnoreCase(str)

按字典顺序比较两个字符串:str1.compareTo(str);【先比较第一个字符,相等,就接着比,直到分出大小,全部相同,返回0,str1小则返回负数,大为正数】(得到的数值为两字符对应码的差值e-d=1),compareToIgnoreCase(String str)

匹配正则:str.matches(String regex)

4)其他

将不同基本类型转为字符串:String.valueOf(基本类型)

将字符串拆分为【字符数组】:str.toCharArray()

将字符串拆分为【字符串数组】:str.split(regex)或split(String regex, int limit) 【limit限制拆分的个数】

判断字符串是否为空:str.isEmpty() 【当且仅当 length() 为 0 时返回 true】

获取字符串长度:str.length()

charAt(index)【获取字符串中对应下标值的字符,返回char类型】

三、可变的字符序列

StringBuffer类

与String类相比较,新增方法:

反向排列:buffer.reverse()

转为字符串:buffer.toString()

将字符串插入指定位置:buffer.insert(1, “ww”)【参数1:偏移量】

删除指定下标字符:buffer.deleteCharAt(2)

删除指定范围字符串:buffer.delete(1, 2)【参数1:开始下标,参数2:结束下标】

在后面添加字符串:buffer.append(“abc”)

注意:

没有频繁的追加或者删除字符串内容 ——————–用String

频繁的操作追加或者是删除字符串中的内容的时候—————- 用StringBuffer 比较有优势 节省内存开销

Java常用类之【字符串相关类型】的更多相关文章

  1. Java常用类之字符串类

    String 的特性 public final class String implements java.io.Serializable, Comparable<String>, Char ...

  2. 常用类一一字符串相关类一一String类 字符串的使用

    Java字符串就是Unicode字符序列,例如“Java”就是4个Unicode字符J,a,v,a组成的. Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String,每个 ...

  3. 常用类一一字符串相关类一一StringBuilder,StringBuffer。

    package cn.bjsxt.stringbuilder; /** * String 不可变字符序列 * StringBuilder StringBuffer都是是可变字符序列 * 区别在于Str ...

  4. day15--Java常用类之日期相关类

    Java常用类 3.日期相关类 3.1Date类 在标准Java类库中包含一个Date类,它的对象表示一个特定的瞬间,精确到毫秒.在网上商城下单时,在对报销单进行审核时,都需要获取当前的时间,通过Da ...

  5. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  6. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  7. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  8. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  9. Java常用类之要点总结

    Java常用类之要点总结

  10. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

随机推荐

  1. 网站启用gzip压缩

    gzip压缩启用不启用还是要看实际情况的,启用gzip后可以相应的减轻带宽压力但是同时也会增加cpu的压力(压缩解压),相反的如果不启用那么cpu压力也会相应的减少,具体情况具体分析. Linux开启 ...

  2. linux 程序调用system执行命令

    正确使用system方法,判断返回值 int exeCmd(const char *cmd) { pid_t status; status = system(cmd); == status) { Wr ...

  3. GitHub上最受欢迎的iOS开源项目TOP20

    AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...

  4. HYML / CSS部分

    1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个 ...

  5. CF #335 div1 A. Sorting Railway Cars

    题目链接:http://codeforces.com/contest/605/problem/A 大意是对一个排列进行排序,每一次操作可以将一个数字从原来位置抽出放到开头或结尾,问最少需要操作多少次可 ...

  6. Java 代码安全(一)      —— 避免用String储存敏感数据

    Java 代码安全(一)      -- 避免用String储存敏感数据 如果重要的数据(保存在内存中)在使用后没有及时清理,有可能会导致信息泄漏.开发人员通常都回用String 保存敏感数据(密码, ...

  7. JS自定义对象,正则表达式,JQuery中的一些知识点

    一:自定义对象 1.基本概念:①对象:包含一系列无序属性和方法的集合.②键值对:对象中的数据是以键值对的形式存在的,以键取值.③属性:描述对象特征的一系列变量.[对象中的变量]④方法:描述对象行为的一 ...

  8. 热爱H5

    我不去想是否能够功成名就既然选择了前端便只顾埋头于无声 我不去想能否赢得掌声既然钟情于IT就勇敢得踏步前行 我不去想前行的路上会不会日暮穷途既然目标是未来留给现在的只能是汗水 我不去想所谓的成功是不是 ...

  9. 【国家集训队2012】tree(伍一鸣)

    Description 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一:  + u v c:将u到v的路径上的点的权值都加上自然数c:  - u1 v1 u2 ...

  10. 如何使用python生成xml

    最近要用python生成一个xml格式的文件.因为有一些内容是中文,原来的xml文件中使用了CDATA 的部分. 而之前的python程序所用的库中没有 创建这个区域的方法.无奈研究了大半天. 最后用 ...