一、字符相关类型

分类:

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. [Java自学第二天]

    Java封装性思想的初步理解 从项目需求的角度出发,建立各个模块化的类,各个模块暂时不需要具体的方法描述,只需要各个模块的理想到位. 以银行项目为例 初步设想需要三个模块:银行(Bank类).客户(C ...

  2. 记一些让footer始终位于网页底部的方法

    上次说把网页的头部和尾部分离出来作为一个单独的文件,所有网页共用,这样比较方便修改,然而,,,我发现某些方法里尾部会紧跟在头部后面,把内容挤在下面..而且有的页面内容少的话不能把尾部挤到最下面,所以, ...

  3. mui开发app之webview是什么

    WebView(网络视图)能加载显示网页,可以将其视为一个浏览器,webview被封装在html5+,plus对象中,底层由java,OC实现. 先来谈谈我对webview的理解: 使用mui开发的a ...

  4. [移动端] IOS下border-image不起作用的解决办法

    上周五突然接到现场的一个需求,做一个移动端的劳模展示页面.现场美工把原型图发了过来.这个样子的: 说实在的很想吐槽一下我们美工的审美哈,不过这不是重点. 因为边框是需要特殊花纹的所以打算用border ...

  5. Silverlight的DataGrid合并单元格

    现在也不知道还有没有同学做Silverlight开发了,我是一个Silverlight菜鸟,遇到问题也很难百度查到.就简单的记录一下这两天遇到的问题,并做了一个简单的小Demo,希望能够帮助到其他同学 ...

  6. 从零开始构建一个的asp.net Core 项目

    最近突发奇想,想从零开始构建一个Core的MVC项目,于是开始了构建过程. 首先我们添加一个空的CORE下的MVC项目,创建完成之后我们运行一下(Ctrl +F5).我们会在页面上看到"He ...

  7. JS实现鼠标悬浮,显示内容

    其实就是增加title属性

  8. 【网站管理1】_dede织梦后台如何发布文章

    对于新手可能不了解,dede织梦后台是如何发文章的.下面说下我的经验. 发布文章步骤 1.打开浏览器,推介谷歌,360极速浏览器,火狐浏览器,输入网站后台网址   出现如下图登入界面 2.输入账号密码 ...

  9. vue.js 初体验— Chrome 插件开发实录

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:陈纬杰 背景 对于经常和动画开发打交道的开发者对于Animate.css这个动画库不会陌生,它把一些常见 ...

  10. dubbo 入门

    1 介绍 1.1 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 1.2 说明 DUBB ...