不管是给字符串赋值,还是对字符串格式化,都属于往字符串填充内容,一旦内容填充完毕,则需开展进一步的处理。譬如一段Word文本,常见的加工操作就有查找、替换、追加、截取等等,按照字符串的处理结果异同,可将这些操作方法归为三大类,分别说明如下。
一、判断字符串是否具备某种特征
该类方法主要用来判断字符串是否满足某种条件,返回true代表条件满足,返回false代表条件不满足。判断方法的调用代码示例如下:

		String hello = "Hello World. ";
// isEmpty方法判断该字符串是否为空串
boolean isEmpty = hello.isEmpty();
System.out.println("isEmpty = "+isEmpty);
// equals方法判断该字符串是否与目标串相等
boolean equals = hello.equals("你好");
System.out.println("equals = "+equals);
// startsWith方法判断该字符串是否以目标串开头
boolean startsWith = hello.startsWith("Hello");
System.out.println("startsWith = "+startsWith);
// endsWith方法判断该字符串是否以目标串结尾
boolean endsWith = hello.endsWith("World");
System.out.println("endsWith = "+endsWith);
// contains方法判断该字符串是否包含了目标串
boolean contains = hello.contains("or");
System.out.println("contains = "+contains);

运行以上的判断方法代码,得到以下的日志信息:

isEmpty = false
equals = false
startsWith = true
endsWith = false
contains = true

  

二、在字符串内部进行条件定位
该类方法与字符串的长度有关,要么返回指定位置的字符,要么返回目标串的所在位置。定位方法的调用代码如下所示:

		String hello = "Hello World. ";
// length方法返回该字符串的长度
int length = hello.length();
System.out.println("length = "+length);
// charAt方法返回该字符串在指定位置的字符
char first = hello.charAt(0);
System.out.println("first = "+first);
// indexOf方法返回目标串在该字符串中第一次找到的位置
int index = hello.indexOf("l");
System.out.println("index = "+index);
// lastIndexOf方法返回目标串在该字符串中最后一次找到的位置
int lastIndex = hello.lastIndexOf("l");
System.out.println("lastIndex = "+lastIndex);

运行以上的定位方法代码,得到以下的日志信息:

length = 13
first = H
index = 2
lastIndex = 9

  

三、根据某种规则修改字符串的内容
该类方法可对字符串进行局部或者全部的修改,并返回修改之后的新字符串。内容变更方法的调用代码举例如下:

		String hello = "Hello World. ";
// toLowerCase方法返回转换为小写字母的字符串
String lowerCase = hello.toLowerCase();
System.out.println("lowerCase = "+lowerCase);
// toUpperCase方法返回转换为大写字母的字符串
String upperCase = hello.toUpperCase();
System.out.println("upperCase = "+upperCase);
// trim方法返回去掉首尾空格后的字符串
String trim = hello.trim();
System.out.println("trim = "+trim);
// concat方法返回在末尾添加了目标串之后的字符串
String concat = hello.concat("Fine, thank you.");
System.out.println("concat = "+concat);
// substring方法返回从指定位置开始截取的子串。只有一个输入参数的substring,从指定位置一直截取到源串的末尾
String subToEnd = hello.substring(6);
System.out.println("subToEnd = "+subToEnd);
// 有两个输入参数的substring方法,返回从开始位置到结束位置中间截取的子串
String subToCustom = hello.substring(6, 9);
System.out.println("subToCustom = "+subToCustom);
// replace方法返回目标串替换后的字符串
String replace = hello.replace("l", "L");
System.out.println("replace = "+replace);

运行以上的内容变更方法代码,得到以下的日志信息:

lowerCase = hello world.
upperCase = HELLO WORLD.
trim = Hello World.
concat = Hello World. Fine, thank you.
subToEnd = World.
subToCustom = Wor
replace = HeLLo WorLd.

  

更多Java技术文章参见《Java开发笔记(序)章节目录

Java开发笔记(三十六)字符串的常用方法的更多相关文章

  1. Java开发学习(三十六)----SpringBoot三种配置文件解析

    一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...

  2. Java开发笔记(十六)非此即彼的条件分支

    前面花了大量篇幅介绍布尔类型及相应的关系运算和逻辑运算,那可不仅仅是为了求真值或假值,更是为了通过布尔值控制流程的走向.在现实生活中,常常需要在岔路口抉择走去何方,往南还是往北,向东还是向西?在Jav ...

  3. Java开发笔记(九十六)线程的基本用法

    每启动一个程序,操作系统的内存中通常会驻留该程序的一个进程,进程包含了程序的完整代码逻辑.一旦程序退出,进程也就随之结束:反之,一旦强行结束进程,程序也会跟着退出.普通的程序代码是从上往下执行的,遇到 ...

  4. Java开发学习(二十六)----SpringMVC返回响应结果

    SpringMVC接收到请求和数据后,进行了一些处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户. 比如:根据用户ID查 ...

  5. “全栈2019”Java多线程第三十六章:如何设置线程的等待截止时间

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 下一章 "全栈2019"J ...

  6. Java学习笔记(十六)——Java RMI

    [前面的话] 最近过的好舒服,每天过的感觉很充实,一些生活和工作的技巧注意了就会发现,其实生活也是可以过的如此的有滋有味,满足现在的状况,并且感觉很幸福. 学习java RMI的原因是最近在使用dub ...

  7. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  8. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  9. 网站开发进阶(三十六)String.getBytes()方法中的中文编码问题

    String.getBytes()方法中的中文编码问题 String的getBytes()方法是得到一个系统默认的编码格式的字节数组. getBytes("utf-8")得到一个U ...

  10. MySQL数据库开发的三十六条军规

    一.核心军规 尽量不在数据库做运算,cpu计算的事务必移至业务层; 控制表.行.列数量([控制单张表的数据量 1年/500W条,超出可做分表],[单库表数据量不超过300张] .[单张表的字段个数不超 ...

随机推荐

  1. CentOS6 安装 MySQL5.7

    CentOS 6.10 编译安装 Mysql 5.7.23 X64 1.添加用户组和用户 1) 添加用户组和用户 groupadd mysql 2) 添加用户 useradd -g mysql -s ...

  2. HTML标题 段落 样式

    HTML 标题 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1> 定义最大的标题.<h6> 定义最小的标题. 注释:默 ...

  3. gps 经纬度 转换实际距离

    <!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  4. 【从零开始搭建自己的.NET Core Api框架】(六)泛型仓储的作用

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  5. [Swift]LeetCode820. 单词的压缩编码 | Short Encoding of Words

    Given a list of words, we may encode it by writing a reference string S and a list of indexes A. For ...

  6. 搭建自己的hexo博客

    这是我最近用hexo搭建的个人博客,欢迎来参观留言,以下是我创建这个hexo的一步步步骤,欢迎指正! 我的博客 参考自 潘柏信的博客;CnFeat 主题参考这里 pacman; 主题选自这里 hexa ...

  7. qt deleterLater

    原文链接:浅谈 Qt 内存管理     Qt 内存管理是本文将要介绍的内容,在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承 ...

  8. redis 系列6 数据结构之字典(下)

    一.概述 接着上篇继续,这篇把数据结构之字典学习完, 这篇知识点包括:哈希算法,解决键冲突, rehash , 渐进式rehash,字典API. 1.1 哈希算法 当一个新的键值对 需要添加到字典里面 ...

  9. 代理自动配置文件PAC的使用方法

    我通常上网使用两个浏览器,safari用于一般上网:Chrome安装SwitchyOmega插件,在不同的代理中切换,来保证某些网站的上网速度. 但是这种方式到了手机上就有点懵,几乎所有的iPhone ...

  10. 道路运输车辆卫星定位系统JT/T808服务实现和压测

    在工作上的需要接触道路运输车辆卫星定位系统相关应用,由于自己对网络服务的编写比较感兴趣,所以利用空闲时间实现了JT/T808的一些协议和相关服务(不得不说这种协议的设计在解释的确导致性能上的损耗,特别 ...