首页 > 编程语言 >Java 截取字符串 split 方法与 substring 方法简单比较

Java 截取字符串 split 方法与 substring 方法简单比较

时间:2023-02-22 21:07:20浏览次数:40  
标签:Java System springframework substring split org out


Java 截取字符串 split 方法与 substring 方法简单比较

文章目录

  • ​​Java 截取字符串 `split` 方法与 `substring` 方法简单比较​​
  • ​​0、结论​​
  • ​​1、截取目标​​
  • ​​2、split 方法​​
  • ​​3、substring 方法​​
  • ​​4、执行 10 万次​​
  • ​​5、运行结果​​

0、结论

substring 比 split 快几十倍!

1、截取目标

​org.springframework.boot.test.context.SpringBootTest​​​ 中的 ​​boot​

2、split 方法

public void split() {
String str = "org.springframework.boot.test.context.SpringBootTest";
String name = str.split("org.springframework.boot.")[1].split("\\.")[0];
}

3、substring 方法

public void substring() {
String str = "org.springframework.boot.test.context.SpringBootTest";
String name = str.substring(str.indexOf(".", "org.springframework".length()) + 1, str.indexOf(".", "org.springframework".length() + 1));
}

4、执行 10 万次

@Test
public void test02() {
long start = System.currentTimeMillis();
System.out.println("split 开始时间" + start);
for (int i = 0; i < 100000; i++) {
split();
}
long middle = System.currentTimeMillis();
System.out.println("split 结束时间" + middle);
System.out.println("split 耗时" + (middle - start) + "毫秒");
System.out.println("substring 开始时间" + middle);
for (int i = 0; i < 100000; i++) {
substring();
}
long end = System.currentTimeMillis();
System.out.println("substring 结束时间" + end);
System.out.println("substring 耗时" + (end - middle) + "毫秒");
}

5、运行结果

split 开始时间1648630532312
split 结束时间1648630532425
split 耗时113毫秒
substring 开始时间1648630532425
substring 结束时间1648630532429
substring 耗时4毫秒


标签:Java,System,springframework,substring,split,org,out
From: https://blog.51cto.com/u_13272819/6079420

相关文章

  • 【Java对象转换】001- Java 对象与 JSON 互转
    文章目录​​【Java对象转换】001-Java对象与JSON互转​​​​一、Java对象与JSON概述​​​​1、Java对象​​​​2、JSON​​​​二、JSON解析及与Java对象互转......
  • 【JavaScript】JS引擎中执行上下文如何顺序执行代码
    首先我们知道JavaScript引擎包括一个调用栈和堆,调用栈是代码实际执行的地方,使用执行上下文(执行环境)来完成;堆是非结构化的内存池,存储了应用程序所需要的所有对象。执行上......
  • java环境搭建
    百度下载jdk8(8u181)先登录甲骨文再下载,安装后要记得安装目录在我的电脑,属性,高级设置,环境变量里新建JAVA_HOME环境名,地址是安装目录找到Path在里面添加%JAVA_HOME%/bin和......
  • Java帝国的诞生
    Java帝国的诞生C&C++1972年C诞生贴近硬件,运行极快,效率极高。操作系统,编译器,数据库,网络系统等指针和内存管理1982年C++诞生面向对象兼容C图形领域、游戏等1995年J......
  • Java数据类型,变量命名的标准 (AJCG),分支和循环,文档注释的要求
    Java数据类型,变量,分支和循环Java中的八大基本数据类型数据类型占用字节数数据范围byte1B-128~127short2B-32768~32767int4B-2^31~2^31-1......
  • Java多线程技能-方法介绍
    java多线程技能技术点:线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关的问题方法currentThread()currentThread()方法可返回代码段正在被哪......
  • Java-模块化
    模块的基本使用模块使用步骤创建模块(创建模块,创建包,创建类,定义方法)-创建两个模块myOne,myTwo在模块的src目录下创建module-info.java的描述性文件,该文件专门定义模块......
  • IDEA打开项目代码,识别不了资源文件(java文件、yml文件等),找不到或无法加载主类 com.xxxx
    如图所示,识别不了java文件和yml文件   点开EditConfigurations发现找不到启动类  运行会报错:  可以尝试如下解决办法办法:        然......
  • java多线程:详解JUC
    对应狂神说JUC视频1.JUC是什么java.util下的几个包的简称涉及到多线程的开发java.util.concurrentjava.util.atomicjava.util.concurrent.locks2.线程和进程进程:多个程序......
  • Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解
    Java”框架=注解+反射+设计模式“之注解详解每博一文案刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙和瘦窄的短衫的小......