Java String类

字符串转义符号为 \
常见的转义字符
转移字符对应的英文是 escape character , 转义字符串( Escape Sequence )
字母前面加上捺斜线 "" 来表示常见的那些不能显示的 ASCII 字符 . 称为转义字符 . 如 \0,\t,\n 等,就称为转
义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。
常用方法

  1. length() 字符个数
  2. equals equalsIgnoreCase 方法
  3. trim 方法
  4. substring 方法
  5. concat ()方法用于将指定的字符串参数连接到字符串上。
  6. contains() 判断是否包括某字符串,返回的是 true false
  7. indexOf ()返回子串的位置索引,没有返回 -1
  8. lastIndexOf () 返回子串的位置索引,没有返回 -1
  9. replace ()替换返回
  10. split ()拆分为 String[]
  11. toLowerCase () toUpperCase ()转换小写大写
    转义字符
    所有的转义字符和所对应的意义:

    文本块 text block
    文字块( text blocks )这个特性,首先在 JDK 13 中以预览版的形式发布。在 JDK 14 中,改进的文
    字块再次以预览版的形式发布。最后,文字块在 JDK 15 正式发布。
    在没有使用文字块之前,我们项目中也许有这样的一串代码:
java 复制代码
String htmlString =
"<!DOCTYPE html>\n" +
"<html>\n" +
" <body>\n" +
" <h1>\"Hello World!\"</h1>\n" +
" </body>\n" +
"</html>\n";
System.out.println(htmlString);
java 复制代码
字符串截取案例

// linux /usr/local/jdk/
//windows d:\\jdk\\jdk-17
String file = "c:/user/abc/upload/xxsfasf.afasf-asfas.jpg";
//求出文件目录 c:/user/abc/upload/
//求出文件名称 xxsfasf.afasf-asfas.jpg
//求出文件的扩展名 jpg
//将字符串替换为c:/user/abc/upload/20211202154333.jpg



java11 字符串新特性方法

package cn.ex;
import java.io.File;
import java.util.UUID;
/**
* @author webrx
* @since 17
*/
public class Ex2 {
public static void main(String[] args) {
String p = "d:/xxx/user/user_abc.jpg";
System.out.println(p);
//File.separator 是根据系统返回相关的符号 linux / windows \ \\
String fc = File.separator;
fc = p.indexOf(fc) == -1 ? "/" : fc;
System.out.println(fc);
String path = p.substring(0, p.lastIndexOf(fc)).concat(fc);
System.out.println(path);
String name = p.substring(p.lastIndexOf(fc) + 1);
System.out.println(name);
String ext = name.lastIndexOf(".") == -1 ? "" :
name.substring(name.lastIndexOf(".") + 1);
System.out.println(ext);
UUID uuid = UUID.randomUUID();
String newp = String.format("%s%s.%s", path, uuid, ext);
System.out.println(newp);
}
}
java 复制代码
java 11 string api

// 判断字符串是否为空白
" ".isBlank(); // true
// 去除首尾空格 .trim()
" Javastack ".strip(); // "Javastack"
// 去除尾部空格
" Javastack ".stripTrailing(); // " Javastack"
// 去除首部空格
" Javastack ".stripLeading(); // "Javastack "
// 复制字符串
"Java".repeat(3); // "JavaJavaJava"
// 行数统计
"A\nB\nC".lines().count(); // 3
String str = "Java";
// 小于0:java.lang.IllegalArgumentException
System.out.println(str.repeat(-2));
// 等于0:空白串("")
System.out.println(str.repeat(0));
// JavaJavaJava
System.out.println(str.repeat(3));
// java.lang.OutOfMemoryError
System.out.println(str.repeat(Integer.MAX_VALUE));
// 4
System.out.println("A\nB\nC\rD".lines().count());
String s1 = " hello java 1.8 ";
System.out.println(s1);
//.concat() 方法相当于 + 属性字符串连接
System.out.println("hello".concat("\s".repeat(30)).concat("java19"));
System.out.println("hello" + "\s".repeat(30) + "java19");
//清除首尾连续空格
System.out.println(s1.trim());
System.out.println(s1.strip());
System.out.println(s1.stripLeading());
System.out.println(s1.stripTrailing());
//清除所有空格
System.out.println(s1.replace(" ",""));

System.out.println("------------");
System.out.println("".isBlank());
System.out.println("".isEmpty());
System.out.println(" ".isBlank());//true
System.out.println(" ".isEmpty());//false
System.out.println(" ".trim().length() == 0 ? "空字符串" : "正确");
System.out.println(" ".isBlank() ? "空字符串" : "正确");
System.out.println("*".repeat(60));
System.out.println("------------");
//求字符串中行数
System.out.println("hello\njava\nok\n123\nmysql");
System.out.println("hello\njava\nok\n123\nmysql".lines().count());
java 复制代码
判断一个对象是否属于一个类可以用关键字instanceof,它是二元操作符,格式为:
对象 instanceof 类名
式子的值为一个布尔值(boolean)

Object sth;
boolean isString = sth instanceof String;

或者

if (sth instanceof String) {
// your code
}





字符串添加方法
序
号
方法描述
1 public StringBuffer append(String s) 将指定的字符串追加到此字符序列。
2 public StringBuffer reverse() 将此字符序列用其反转形式取代。
3 public StringBuilder delete(int start, int end) 移除此序列的子字符串中的字符。
4 public insert(int offset, int i) 将 int 参数的字符串表示形式插入此序列中。
5 insert(int offset, String str) 将 str 参数的字符串插入此序列中。
6 replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串
中的字符。

1 int capacity() 返回当前容量。
2 char charAt(int index) 返回此序列中指定索引处的 char 值。
3 void ensureCapacity(int minimumCapacity) 确保容量至少等于指定的最小值。
4
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此序列复制到目
标字符数组 dst 。
5 int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。
6
int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符
串在该字符串中的索引。
7 int lastIndexOf(String str) 返回最右边出现的指定子字符串在此字符串中的索引。
8 int lastIndexOf(String str, int fromIndex) 返回 String 对象中子字符串最后出现的位置。
9 int length() 返回长度(字符数)。
10 void setCharAt(int index, char ch) 将给定索引处的字符设置为 ch 。
11 void setLength(int newLength) 设置字符序列的长度。
12
CharSequence subSequence(int start, int end) 返回一个新的字符序列,该字符序列是此
序列的子序列。
13
String substring(int start) 返回一个新的 String ,它包含此字符序列当前所包含的字符子
序列。
14
String substring(int start, int end) 返回一个新的 String ,它包含此序列当前所包含的字
符子序列。
15 String toString() 返回此序列中数据的字符串表示形式。
相关推荐
水云桐程序员6 分钟前
C++可以写手机应用吗
开发语言·c++·智能手机
测试员周周17 分钟前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16251 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
想学习java初学者1 小时前
SpringBoot整合Vertx-Mqtt多租户(优化版)
java·spring boot·后端
AC赳赳老秦2 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
赏金术士2 小时前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
weixin_449173652 小时前
在 Java 中,‌线程安全的 List‌ 主要有以下几种实现方式,它们的效率取决于具体的使用场景(尤其是读写比例):
java·线程安全的list
砚底藏山河2 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven
MegaDataFlowers3 小时前
运行若依项目
java
加号33 小时前
【Qt】 应用程序发布:依赖库拷贝与部署指南
开发语言·qt