不管是给字符串赋值,还是对字符串格式化,都属于往字符串填充内容,一旦内容填充完毕,则需开展进一步的处理。譬如一段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. laravel5单元测试

    https://www.cnblogs.com/love-snow/articles/7641198.html

  2. PageHelper分页插件的使用

    大家好!今天写ssm项目实现分页的时候用到pageHelper分页插件,在使用过程中出现了一些错误,因此写篇随笔记录下整个过程 1.背景:在项目的开发的过程中,为了实现所有的功能. 2.目标:实现分页 ...

  3. oracle 创建的表为什么在table里没有,但是可以查出来

    有两种的可能: 1这个表在其他用户下创建的,当前用户没有权限访问,此表不在属于当前用户 2查询时写的表名,并不是真正意义的表名,可能指向其他用户,或者就不是这个表

  4. 适配iOS11

    总结在iOS11系统中出现的适配问题: 启动app发现上下有空隙,不能完全贴合屏幕----- 解决方案:添加一张尺寸为1125x2436的启动图. 隐藏导航栏的界面,会出现无法贴合屏幕顶部(一般来说, ...

  5. 解决idea中 mvn项目导了包找不到包的问题

    ----------------------------------------分割线--------------------------------------------------------- ...

  6. vs2017 调试时 浏览器关闭不想中断调试

    解决方案 工具—>选项—>项目和解决方案—>web项目-->去点“浏览器窗口关闭时停止调试”前面的勾去掉>>>

  7. QEMU KVM Libvirt手册(10): KVM的各种限制

    Overcommits KVM allows for both memory and disk space overcommit. However, hard errors resulting fro ...

  8. 解决微信小程序video属性controls失效问题

    <view class="VideoBox"> <video class='myVideo' id="myVideo01" src=" ...

  9. 【同余方程组】POJ1006 生理周期

    同余方程组: 先来看一道题目:有物不知其数,三三数之剩二:五五数之剩三:七七数之剩二.问物几何?  然后我们可以做如下变换,设x为所求的数. x%3=2              x ≡ a1(%m1 ...

  10. Javascript高级编程学习笔记(86)—— Canvas(3)绘制矩形

    绘制矩形 矩形是唯一一种可以直接在2D上下文中绘制的形状. 与矩形有关的方法包括: fillRect() strokeRect() clearRect() 上述方法都接收四个参数: 绘制矩形的 X 坐 ...