String类位于java.lang包下,String类代表字符串,字符串是常量,它们的的值在创建后不能更改;为了支持可变的字符串,Java还为我们提供了StringBuilder和StringBuffer类。

1. String类中常用方法

a. 与索引、长度相关的方法

返回值类型 函数名 功能
char charAt(int index) 返回指定索引处的 char 值。
String subString(int beginIndex,int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从beginIndex 处开始,直到索引 endIndex - 1 处的字符。
int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。
int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。
int length() 返回此字符串的长度。
boolean isEmpty() 当且仅当 length()0 时返回 true

注意:在执行subString方法时,会创建新的字符数组,而不是使用现存的字符数组。

b. 与比较、包含、转换相关的方法

返回值类型 函数名 功能
String concat(String str) 将指定字符串连接到此字符串的结尾。
boolean contains(charsequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endWith(String suffix) 测试此字符串是否以指定的后缀结束。
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。
byte[] getBytes(charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
char[] toCharArray() 将此字符串转换为一个新的字符数组。
String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

c. 与正则表达式相关的方法

返回值类型 函数名 功能
String matches(String regex)  
String replaceAll(String regex,String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex,String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。
String trim() 返回字符串的副本,忽略前导空白和尾部空白。
String replace(char oldchar,char newchar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
 1     public static void main(String[] args) {
 2 //      去除字符串的前导空白和尾部空白
 3         String str = " abc ed f ";
 4         System.out.println(str);
 5         System.out.println(str.trim());
 6 //      将字符串用空白字符分割开来
 7         String[] strArray = str.split("\\s+");
 8         System.out.println(strArray.length);
 9         for(String s:strArray){
10             System.out.println(s);
11         }
12     }

运行结果:

2. 题外话

a. String对象一旦创建不可改变,而StringBuilder和StringBuffer是可变的,这就表示它们创建后仍可以修改他们的值;StringBuffer是synchronized的,它是线程安全的,但是比StringBuilder慢,如无安全要求,推荐使用StringBuilder。

b. Java中字符串的连接是用“+”来实现的,此操作的过程是通过StringBuilder或StringBuffer类及它们的append方法实现。

c. 将字符串转换成日期

1 String str = "Fri 17,2013";
2 Date date = new SimpleDateFormat("MMM d,yy", Locale.ENGLISH).parse(str);
3 System.out.println(date);

转载于:https://www.cnblogs.com/shouming/articles/6848759.html

Java-String类学习笔记相关推荐

  1. Java:String类学习笔记

    字符串的创建 String a="123456789";//直接赋值 String b=new String("123456");//利用构造方法 char a ...

  2. Java常用类学习笔记

    Date类 Date类是在Java中获取日期时间最简单的一个类,可以通过直接实例化对象的方式获得当前的日期时间.得到的日期时间是国外的格式.Date类没有什么特殊的用法,就是简单的获取当前的日期时间. ...

  3. Java字符串类学习笔记

    String String特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String实现了Serializable接口:表示字符 ...

  4. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  5. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  6. Java快速入门学习笔记9 | Java语言中的方法

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  7. Java 8 实战学习笔记

    Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...

  8. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  9. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  10. JAVA 第二周学习笔记

    JAVA第二周学习笔记 一.变量 1.变量的本质 2.变量的三大要素 a.变量名: b.变量值: c.变量类型: 3.变量的定义和使用 4.课后小练习: 5.变量的定义和使用 二.运算符 1.赋值运算 ...

最新文章

  1. 比较好用的web打印控件——Lodop
  2. python打开是什么颜色-python实现简单颜色识别程序
  3. 通过Nginx,Tomcat访问日志(access log)记录请求耗时
  4. 502 Bad Gateway Registered endpoint failed to handle the request
  5. 微信支付成功但是微信分享却失败了
  6. 【推荐】开源堡垒机Teleport
  7. 如何使用泛型在新的可空上下文中启动健壮的C#项目?
  8. C#+AE 地图制图(二)
  9. 破解电信光猫华为HG8120C关闭路由功能方法
  10. 电脑启动项,电脑启动项设置,详细教您怎么设置开机启动项
  11. spring boot中的banner制作
  12. 第7章 CustomView绘图进阶
  13. 解决Maven使用install出错出现Fatal error compiling: UTF-8的问题
  14. TranslateMessage()介绍
  15. java做机器视觉_机器视觉用什么语言开发_机器视觉用什么硬件
  16. Springboot(SpringBoot)重试机制retry
  17. 基于fl2440内核linux-3.0移植----触摸屏移植
  18. 我现在也晕菜了(一)
  19. 【云原生之Docker实战】使用Docker部署Alist网盘直链程序
  20. 010 | 古村楹联在道德教育及文学素养培养中的价值及启示 | 大学生创新训练项目申请书 | 极致技术工厂

热门文章

  1. 10. 机器人正运动学---姿态描述之欧拉角
  2. 学以致用二十四-----shell脚本中的列表及space
  3. centos使用wget下载jdk8
  4. charles破解版_Charles抓包工具_charles mac\win7版
  5. 阿里云盘 Mac客户端(附福利兑换码)
  6. origin2021如何切换中文界面
  7. 【leetCode】69. x 的平方根
  8. dht磁力链php,基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
  9. 单位个人计算机 数据备份,个人所得税软件数据备份,您必须知道的5件事
  10. 原来这就是公文写作年终总结材料末尾段首句参考例句