昨天参加了一场机试,发现自己居然对String类的api不熟了,所以今天来总结一下(基于JDK1.8)。

1、父类和实现的接口

没有父类,或者说父类是Object

接口:Serializable、Comparable<String>、CharSequence

2、数据结构

底层是一个字符数组,并且底层数组不能被其他类访问,从源码可以看出

private final char value[];

并且String实例不可被更改,意思就是说上面这个字符数组的长度和存储的字符都不能变,因为String类中除了构造方法没有其他方法去改变这个字符数组value。

3、构造方法

构造方法入参主要有字符串、字符数组、字节数组、int数组、数组起始下标和数量、StringBuffer、字符集

4、常用方法

方法 说明
length 返回字符数组的长度
isEmpty 字符数组长度是否为0
charAt 返回指定索引位置的字符
codePointAt 返回指定索引位置的Unicode代码
getChars 将字符串的内容放到指定的字符数组中
getBytes 返回一个字节数组
equals 内容是否相同
equalsIgnoreCase 忽略大小写之后内容是否相同
contentEquals 内容是否相同
compareTo 字符串大小比较
compareToIgnoreCase 忽略大小写之后字符串大小比较
startsWith 检查是否以指定的前缀开始(如果有第二参数表示开始查找的位置)
endsWith 检查是否以指定的后缀结束
indexOf 返回指定字符(或者字符串)在当前字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
lastIndexOf 同indexOf的区别是从后往前找
substring 截取子串
replace 注意replace、replaceAll、replaceFirst的区别
split 将字符串用指定字符串分割成一个字符串数组
toLowerCase 转换成小写
toUpperCase 转换成大写
trim 去除首尾Unicode值小于32的字符
toCharArray 返回字符数组
valueOf 将其他类型数据转换成一个字符串

【JAVA基础篇】String类详解相关推荐

  1. Java基础篇:内部类详解

    目录: 一.内部类的好处: 二.成员内部类: 三.局部内部类: 四.静态内部类: 五.匿名内部类: 六.总结: 内部类:可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个编译时概念 ...

  2. Java的java.lang.String类详解

    String类详解 String(字符串常量)概述 在API中是这样描述: String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. ...

  3. 转载:c+string类详解

    C++ string 类详解 </h1><div class="clear"></div><div class="postBod ...

  4. stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...

  5. 【Java基础】HashMap原理详解

    [Java基础]HashMap原理详解 HashMap的实现 1. 数组 2.线性链表 3.红黑树 3.1概述 3.2性质 4.HashMap扩容死锁 5. BATJ一线大厂技术栈 HashMap的实 ...

  6. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  7. java基础与案例开发详解 pdf下载_Java基础与案例开发详解(张孝祥) pdf_IT教程网...

    资源名称:Java基础与案例开发详解(张孝祥) pdf 第1.2和3章介绍Java环境的安装配置,Java程序的开发过程和Java语言的基础语法. 第4章介绍数组和常用算法的相关知识. 第5章和6章介 ...

  8. Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...

  9. java线程池ThreadPoolExecutor类详解

    线程池有哪些状态 1. RUNNING:  接收新的任务,且执行等待队列中的任务 Accept new tasks and process queued tasks  2. SHUTDOWN: 不接收 ...

  10. java并发编程Future类详解

    作用和举例 future类的作用就是为了调用其他线程完成好后的结果,再返回到当前线程中,如上图举例: 小王自己是主线程,叫外卖等于使用future类,叫好外卖后小王就接着干自己的事去了,当外卖到了的时 ...

最新文章

  1. ECCV2020|超快的车道线检测,代码模型已开源
  2. 嵌套中断共享资源问题及解决
  3. 【Python】关于jupyter几个不得不知道的tips
  4. 前端学习(2004)vue之电商管理系统电商系统之阻止页签切换
  5. VOIP术语及相关知识
  6. Updates were rejected because the tip of your current branch is behind
  7. bing 搜索引擎 无法访问 bug
  8. [转发]Labview2015 vi文件程序框图密码破解过程
  9. 海康威视实习生面试总结
  10. Numpy中的Boardcast机制
  11. sqrt( )平方根计算函数
  12. Echarts地图自定义图标Symbol同时动态更改图标进行切换显示
  13. MarkDown语法详解
  14. 富文本编辑器simditor
  15. docker学习(一)命令大全
  16. 国家治理能力现代化的重要标准:“国家大数据中心”
  17. 你猜,帕特∙基辛格、郭尊华、郭为、田溯宁为什么相视而笑?
  18. html5 meter,html5 meter标签是什么意思?html5 meter标签的用法及属性介绍
  19. 计算机怎么开机操作,计算机是如何启动的?从未上电到操作系统启动
  20. 游戏引擎与虚拟仿真系统

热门文章

  1. 云计算精华问答 | 边缘计算、雾计算、霾计算,它们究竟是什么?
  2. 文石服务器维护,文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城
  3. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数
  4. pyboard micropython_pyboard:tutorial:repl
  5. Linux 6安装kde桌面,CentOS 5/6 安装 GNOME 或 KDE 桌面
  6. python启动http服务_Python命令开启http.server服务器
  7. 防火墙contos6.8操作手册
  8. 自定义异常和经验小结
  9. html背景图片横屏,CSS背景颜色 背景图片 居中 重复 固定样式background经验篇
  10. python编辑学生分数_python处理excel(04)数据筛选和过滤