【JAVA SE基础篇】32.String类入门

1.字符串

1.String类又称作不可变字符序列

2.String位于java.lang包中,java程序默认导入java.lang包下所有的类

3.java字符串就是Unicode字符序列,例如字符串“java”就是4个Unicode字符:‘j’,‘a’,‘v’,‘a’组成的

4.java中没有内置的字符串类型,而是在标准的java类库中提供了一个预定义的类String,每个用双引号括起来的字符串都是String类的一个实例

5.java中允许使用符号“+”把两个字符串连接起来。

例:

6.字符串连接:“+”把两个字符串按照给定的顺序连接在一起,并且是完全按照给定的形式

当“+”号运算符两侧的操作数中只有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串再进行输出

例:

2.常量池

常量池分为三种:全局字符串常量池,class文件常量池,运行时常量池

1.全局字符串常量池

全局字符串常量池中存放的内容时在类加载完成后存到String Pool中的,在每个JVM中只有一份

存放的是字符串常量的引用值(在堆中生成字符串对象实例)

2.class文件常量池

class常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量(文本字符串,final常量等)和符号引用

3.运行时常量池

运行时常量池是在类加载完成之后,将每个class常量池中的符号引用值转存到运行时常量池中,也就是说,每个class都有一个运行时常量池

类在解析后,将符号引用替换成直接引用,与全局常量池的引用值保持一致。

例:

“==“符号比较的是等号两边的值以及地址是否相同

str1和str2是通过一个对象创建出来的,共同处在同意常量池,所以地址也相同

而str3是新建的String对象,在一个新的常量池中,所以str3和str1的地址不同

因此在比较两个字符串值是否相同时,通常使用equals()方法。

例:

3.String类的常用方法

char charAt(int index): 返回指定索引处的 char 值。

boolean equals(String other): 将此字符串与指定的对象比较。

boolean equalsIgnoreCase(String other):将此 String 与另一个 String 比较,不考虑大小写。

int indexOf():返回指定字符在此字符串中第一次出现处的索引。

lastIndexOf():返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

int length(): 返回此字符串的长度。

String replace(char oldChar,char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。

boolean endsWith(String prefix): 测试此字符串是否以指定的后缀结束

String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。

String substring(int beginIndex,int endIndex):返回一个新字符串,它是此字符串的一个子字符串。

String toLowerCase():使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

String toUpperCase():使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

String trim():返回字符串的副本,忽略前导空白和尾部空白。

例:

java实现linkstring,【JAVA SE基础篇】32.String类入门相关推荐

  1. java unicode32_【JAVA SE基础篇】32.String类入门

    1.字符串 1.String类又称作不可变字符序列 2.String位于java.lang包中,java程序默认导入java.lang包下所有的类 3.java字符串就是Unicode字符序列,例如字 ...

  2. 【JAVA基础篇】String类详解

    昨天参加了一场机试,发现自己居然对String类的api不熟了,所以今天来总结一下(基于JDK1.8). 1.父类和实现的接口 没有父类,或者说父类是Object 接口:Serializable.Co ...

  3. java 中间容器 表格_【JAVA SE基础篇】45.迭代器、Collections工具类以及使用容器存储表格...

    本文将要为您介绍的是[JAVA SE基础篇]45.迭代器.Collections工具类以及使用容器存储表格,具体完成步骤: 1.迭代器 迭代器为我们提供了统一遍历容器(List/Map/Set)的方式 ...

  4. java se运算符优先级,【JAVA SE基础篇】10.运算符优先级与类型转换

    [JAVA SE基础篇]10.运算符优先级与类型转换 1.运算符的优先级 运算符的优先级在考试中会考,了解即可,多用就会熟能生巧 实际使用过程中建议用小括号来分优先级 关键就是:逻辑非>逻辑与& ...

  5. java从小白到工程师--基础篇(二)

    本期作业:将你的姓氏的Unicode码用程序显示出来. 上一章节中我们配置了环境变量,编写了第一个java程序"hello,world"(java从小白到工程师--基础篇(一) ) ...

  6. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  7. 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华    王月清   出版社:清华大学出版社 ISBN:9787302231585 ...

  8. invader的java学习第五天基础篇

    invader的java学习第五天基础篇(持续更新中-) 一.位运算符 ^.&.|.~.>>.<<.>>>,位运算符就是基于二进制直接进行运算(0为f ...

  9. java玩转区块链-基础篇-账户

    java玩转区块链-基础篇--账户 java环境配置 基础概念 账户 maven包引用 创建账户代码 代码解释 (1) (2) (3) (4) 可以不让搞,但是不允许你不会 java环境配置 jdk版 ...

最新文章

  1. zabbix.php访问不了_zabbix_配置Nginx连接php
  2. Single-Shot Object Detection with Enriched Semantics
  3. 合并两个有序的单链表
  4. php实现服务器文件同步,PHPstorm配置同步服务器文件
  5. java两个数最大公约数和最小公倍数,java求两个数的最大公约数和最小公倍数
  6. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
  7. spark学习-SparkSQL--07-SparkContext类和SparkConf类
  8. setInterval定时连接后台防止session失效
  9. 此电脑怎么放在桌面上_电脑内部与麦克风的声音怎么同时录制?详细教程在此...
  10. win7下MyEclipse装Nutch1.7
  11. 微信小程序 满意度调查问卷
  12. 如何在html中引入代码,如何在HTML页面引入javaScript代码
  13. 【ArcGIS Pro二次开发】(15):用地用海名称和代码互转
  14. 腾讯云服务器评测:配置 8核 16G 18M 带宽
  15. VBA遍历字典对象中独门秘籍
  16. 大学计算机课程制作生日卡片,DIY手工制作生日贺卡
  17. HTML+CSS制作家乡旅游网页(杭州旅游网页设计dw制作)
  18. 【独家】彩虹代shua最新6.6版本/免授权/后台同步官方版本升级
  19. matlab机器人工具箱学习
  20. 什么品牌的护眼台灯比较好?推荐四款品质好的护眼台灯

热门文章

  1. wxWidgets:国际化
  2. boost::stl_interfaces模块实现最小的随机访问迭代器的测试程序
  3. boost::python::upcast的测试程序
  4. boost::phoenix::lambda相关的测试程序
  5. boost::icl模块interval_map 的最简单示例是重叠计数器
  6. boost::hana::find用法的测试程序
  7. boost::graph模块实现bfs算法的测试程序
  8. boost::fusion::pair用法的测试程序
  9. Boost.Function 库示例
  10. VTK:Medical之MedicalDemo2