一、String 类的概念以及特性

1、String 类的概念

String 类代表字符串,在 java.lang 包中。字符串是常量 ,用双引号引起来表示。 它的值在创建之后不能更改 。由 0 或多个字符组成,可以变相的理解成是一个由字符组成的数组。

2、String 类的特性

部分源码:

public 

由源码得知:

  • String 类由 final 关键字修饰,代表不可变的字符序列 ;
  • String 类实现了序列化、Comparable 接口和 CharSequence 接口;
  • String 对象的字符内容是存储在一个 char 型的数组中。

二、常用方法一

  • int length() 返回此字符串的长度
  • char charAt(int index) 返回 char 指定索引处的值
  • boolean isEmpty() 判断是否是空字符串
  • String toLowerCase() 将 String 中的所有字符转换为小写
  • String toUpperCase() 将 String 中的所有字符转换为大写
  • boolean equalsIgnoreCase(String anotherString) 判断是否相等,忽略大小写
  • boolean equals(Object obj) 比较字符串的内容是否相同
  • String trim() 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格
  • String concat(String str) 将指定的字符串连接到该字符串的末尾
  • String substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串
  • String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串从 beginIndex 开始截取到 endIndex(不包含)的一个子字符串
  • int compareTo(String anotherString) 按字典顺序比较两个字符串

测试代码:

public 

运行结果:

三、常用方法二

  • boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时才返回 true
  • int indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引
  • int indexOf(String str, int fromIndex) 返回指定子串的第一次出现的字符串中的索引,从指定的索引开始
  • int lastIndexOf(String str) 返回指定子字符串最后一次出现的字符串中的索引
  • int lastIndexOf(String str, int fromIndex) 返回指定子字符串的最后一次出现的字符串中的索引,从指定索引开始反向搜索
  • boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头
  • boolean startsWith(String prefix, int toffset) 测试在指定索引处开始的此字符串的子字符串是否以指定的前缀开头
  • boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾

测试代码:

public 

运行结果:

四、常用方法三

  • String replace(char oldChar, char newChar) 字符串替换,返回一个新的字符串
  • String replace(CharSequence target, CharSequence replacement) 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列
  • boolean matches(String regex) 告诉这个字符串是否匹配给定的(regular expression)正则表达式
  • String[] split(String regex) 将此字符串按给定的规则分割

测试代码:

public 

运行结果:

五、String 与 StringBuffer、StringBuilder 的区别

通过以上 String 的学习,我们知道 String 的值是不可变的,这就导致每次对 String 的操作都会生成新的 String 对象,不仅效率低下,而且浪费大量优先的内存空间。所以从版本 JDK 5 开始,这个类别已经被一个等级类进行了补充,分别是 StringBuffer 和 StringBuilder。

StringBuffer 和 StringBuilder 都是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer / StringBuilder 对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。

三者的区别:

  • String 由 final 修饰,是不可变字符序列
  • StringBuffer 可变字符序列,其效率低,但是线程安全
  • StringBuilder 可变字符序列,其效率高,但是线程不安全

知乎视频​www.zhihu.com

以上就是小编对 String 类常用方法的汇总,当然还有很多方法就不在这里给大家陈列了,大家感兴趣可以查看一下 API 进行详细了解。希望能够帮到大家~~~

arduino char*转string_Java 中 String 类的常用方法汇总相关推荐

  1. java string类api_JAVA中String类的常用方法API

    @[toc] 前言 String 类是我们日常经常使用的Java类,以下是对该类的信息汇总,类的关系图如下 String类关系图 创建: String s="hello!";//使 ...

  2. java 实现 string类_java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  3. java中String类的常用方法总结

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  4. java 中String类的常用方法总结,玩转String类

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  5. java中string类的常用方法举例说明

    strbegin-字符串中要复制的第一个字符的索引 strend-字符串中要复制的最后一个字符之后的索引 char[]data-目标数组 offset-目标数据中的起始偏移量 void getChar ...

  6. Java中String类的方法及说明

    String : 字符串类型 一.构造函数      String(byte[ ] bytes):通过byte数组构造字符串对象.      String(char[ ] value):通过char数 ...

  7. 【转载】Java中String类的方法及说明

    转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数      String ...

  8. 标准C++中string类用法总结

    2019独角兽企业重金招聘Python工程师标准>>> 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好 ...

  9. C++面试中string类的一种正确写法

    C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源.具体来说: 能像 int 类型那样定义变量,并且支持赋值. ...

最新文章

  1. 模拟一个简单计算器_阅读模拟器的简单介绍
  2. leetcode算法题--平衡二叉树
  3. java Datasource,数据库连接池
  4. Prima Cartoonizer中文版
  5. linux系列之-—04 自动删除n天前日志【转】
  6. 【深度学习mmdetection错误】——mmdetection 运行报错KeyError:‘ConvWS is already registered in conv layer‘
  7. 前端学习(1797):前端调试之css伪元素
  8. stylus之插值(Interpolation)
  9. 如何选择适合你的企业数据管理类产品
  10. CSS的50个代码片段
  11. Delphi编程 -- 如何实现一个支持Visual Basic的For Each调用的COM对象
  12. IDEA 如果修改工作区的主题 也就是黑色背景和白色背景
  13. Python写一个小小的项目监控
  14. c语言求绝对值作业,C语言求绝对值
  15. W806串口管脚复用
  16. 关于用指针实现输入字符串以单词为元素反转输出思路
  17. linux下eclipse开发storm,如何在eclipse调试storm程序?
  18. vscode setting 配置
  19. 大数据的数据库设计原则有哪些
  20. vulnhub靶机练习-Os-hackNos-1

热门文章

  1. linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件
  2. idl文件生成java_IDL和生成代码分析
  3. 没有bug队——加贝——Python 59,60
  4. java设置行显示复选框_java spring cheakbox复选框怎么行或者列删除添加
  5. 2021年五一杯数学建模A题(疫苗生产调度问题)详细分析
  6. iOS里面MVC模式详解
  7. C++/C中 sizeof(指针)和sizeof(数组名)的区别
  8. html img src
  9. linux内核 块驱动程序,linux – 为什么内核使用默认的块驱动程序而不是我的驱动程序代码?...
  10. 普通的java类型是指,String是一个很普通的类 - Java那些事儿