String常用方法
1.
String StringBuffer StringBuilder的区别:
001.在执行速度方法
StringBuilder > StringBuffer > String
002.线程安全 多线程情况下
StringBuilder: 单线程使用,多线程不安全
StringBuffer : 多线程安全
String : 数据量小的时候使用
003.String本身是不可变的!每当我们操作一次字符串,就会创建一个新的对象!
StringBuilder,StringBuffer每次操作都是一个对象!
2.
import org.junit.Test;
public class StringDemo {
@Test
public void test01() {
String a = "abc";
String b = "ABC";
System.out.println("字符串的长度:" + a.length());
System.out.println("字符串是否相等:" + (a == b));
System.out.println("字符串内容是否一致(区分大小写):" + (a.equals(b)));
System.out.println("字符串内容是否一致(不区分大小写):" + (a.equalsIgnoreCase(b)));
System.out.println("把abc变成大写:" + a.toUpperCase());
System.out.println("把ABC变成大写:" + b.toLowerCase());
}
@Test
public void test02() {
String a = "abcdefg";
// 把字符串转换成char类型的数组
char[] newArray = a.toCharArray();
for (char c : newArray) {
System.out.println(c);
}
}
@Test
public void test03() {
String a = "a+b?c?d-e?f?g";
/**
* 把一个有特点的字符串拆分成一个Stirng类型的数组
* 了解 正则表达式 后续会有讲解
*/
String[] newStringArr = a.split("-");
for (String s : newStringArr) {
System.out.println(s);
}
}
@Test
public void test04() {
String a = "501804392@qq.com.cn";
// indexOf("@") 返回@在字符串中的下标 如果没有 返回-1
int index = a.indexOf("@");
System.out.println("@在字符串中出现的位置是:" + index);
// 邮箱最多有两个. 找到最后一个点的位子
index = a.lastIndexOf(".");
System.out.println(".在字符串中最后出现的位置是:" + index);
}
@Test
public void test05() {
String a = "0123456789";
// 只想获取6789 substring(6) 从下标为6的开始截取包含本身
a = a.substring(6);
System.out.println(a);
/**
* 只想获取456
* substring(4, 7)
* 4:我们开始截取的位置 包含本身
* 7:我们截取结束的位置 不包含本身
*/
a = "0123456789";
a = a.substring(4, 7);
System.out.println(a);
}
@Test
public void test06() {
String a = "0123456789";
// 把5换成+
a = a.replace("5", "+");
System.out.println(a);
}
@Test
public void test07() {
String a = "01234a6789";
// 返回下标位置的 元素
char b = a.charAt(5);
System.out.println(b);
}
@Test
public void test08() {
String a = "01234";
String b = "56789";
System.out.println(a + b);
System.out.println(a.concat(b));
}
@Test
public void test09() {
String a = "01234";
// 是否包含某个字符 如果不存在返回false
System.out.println(a.contains("0"));
}
@Test
public void test10() {
String a = "abcde";
byte[] bytes = a.getBytes();
for (byte b : bytes) {
System.out.println((char) b);
}
}
@Test
public void test11() {
// 01.定义变量
String name = "xiaohei";
// 02.定义操作字符串的次数
int count = 2000000;
// 03.设置开始时间
long beginTime = System.currentTimeMillis();
for (int i = 0; i < count / 100; i++) { // 20000次
name += "haha";
}
// 03.设置结束时间
long endTime = System.currentTimeMillis();
System.out.println("String的执行时间:" + (endTime - beginTime));
System.out.println("****************************");
name = "xiaohei";
// 04.使用StringBuffer
StringBuffer buffer = new StringBuffer(name);
beginTime = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
buffer = buffer.append("haha");
}
endTime = System.currentTimeMillis();
System.out.println("StringBuffer的执行时间:" + (endTime - beginTime));
System.out.println("****************************");
name = "xiaohei";
// 05.使用StringBuilder
StringBuilder builder = new StringBuilder(name);
beginTime = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
builder = builder.append("haha");
}
endTime = System.currentTimeMillis();
System.out.println("StringBuilder的执行时间:" + (endTime - beginTime));
}
}
String常用方法
String常用方法的更多相关文章
- Javascript语言精粹之String常用方法分析
Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的 ...
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...
- JVM内存分配及String常用方法
一,JVM内存分配和常量池 在介绍String类之前,先来简单分析一下在JVM中,对内存的使用是如何进行分配的.如下图所示(注意:在jdk1.8之后便没有方法区了): 如上JVM将内存分为 ...
- Java 中String常用方法
java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...
- Java中String常用方法
java中String的常用方法1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len= ...
- 类String 常用方法
字符串当中的常用方法之比较相关的方法 public boolean equals (object obj):将此字符串与指定的对象进行比较(只有参数是字符串并且内容相同才会返回true) public ...
- JavaScript String常用方法和属性
在JavaScript中,字符串是不可变的,如果使用索引对字符串进行修改浏览器不会报错,但也没有任何效果.JavaScript提供的这些方法不会修改原有字符串的内容,而是返回一个新的期望的字符串. 一 ...
- JavaSE| String常用方法
字符串 * java.lang.String类型:字符串类型 * 1.String类型是final修饰,不能被继承的 * 2.Java 程序中的所有字符串字面值(如 "abc" ) ...
- String常用方法简介
1. 创建String对象的常用方法 (1) String s1 = "mpptest" (2) String s2 = new String(); (3) String s3 ...
随机推荐
- python中的异常处理tryexcept
1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! 2.异常种类 names = ['张三','李四 ...
- vSphere 扩展硬盘空间
把所有的snapshot都删除了之后,ssh上去之后,进vmfs目录到client machine的目录. 然后执行下面的方法. 虽然成功了,却没看到有扩展的. 唯一的好处是, vSphone Cli ...
- spring cloud: Hystrix(四):feign类似于hystrix的断容器功能:fallback
spring cloud: Hystrix(四):feign使用hystrix @FeignClient支持回退的概念:fallback方法,这里有点类似于:@HystrixCommand(fallb ...
- 倒排索引(Inverted Index)
倒排索引(Inverted Index) 倒排索引是一种索引结构,它存储了单词与单词自身在一个或多个文档中所在位置之间的映射.倒排索引通常利用关联数组实现.它拥有两种表现形式: inverted fi ...
- Being a Good Boy in Spring Festival HDU - 1850
桌子上有M堆扑克牌:每堆牌的数量分别为Ni(i=1…M):两人轮流进行:每走一步可以任意选择一堆并取走其中的任意张牌:桌子上的扑克全部取光,则游戏结束:最后一次取牌的人为胜者. 现在我们不想研究到底先 ...
- Ugly Number leetcode java
问题描述: Write a program to check whether a given number is an ugly number. Ugly numbers are positive n ...
- php-fpm.conf文件的位置在哪里
在php的安装目录下的etc目录下:
- zsh切换bash bash切换zsh
切换bash(需要sudo) chsh -s /bin/bash 切换zsh(不需要sudo) chsh -s /bin/zsh 注意:如果输入命令和密码后提示:no change made. 请加上 ...
- python-day74--知识总体总结
1. 课程介绍 - 数据类型 - 函数 - 面向对象三大特性:继承,封装,多态 - socket:本质传输字节:所有网络通信都基于socket ...
- 数据结构与算法之PHP用邻接表、邻接矩阵实现图的广度优先遍历(BFS)
一.基本思想 1)从图中的某个顶点V出发访问并记录: 2)依次访问V的所有邻接顶点: 3)分别从这些邻接点出发,依次访问它们的未被访问过的邻接点,直到图中所有已被访问过的顶点的邻接点都被访问到. 4) ...