String 字符串详解 / 常用API
String 详解 / 常用API
简介
String 是不可改变的字符串序列。String 为字符串常量
StringBuilder 与StringBuffer 均为可改变的字符串序列。为字符串变量
StringBuilder 是非线程安全的 (JDK 1.5)
StringBuffer 是线程安全的 (JDK 1.0)
总结:
String : 适用于少量的字符串操作的情况
StringBuilder : 适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer : 适用于多线程下载字符缓冲区进行大量操作的情况
String API 详解
判断
判断内容是否相同
booleanequals() 对字符串进行判断,是否内容相同booleanequalsIgnoreCase() 对字符串进行判断,忽略大小写
判断字符串是否以某个字符开头或结尾
获取
长度
-
intlength() 获取字符串的长度
-
角标
intindexOf() 获取开始时的索引
示例:
// 定义字符串,
String str1 = "1-2-3-QWE";
/**
* indexOf(int ch) 获取字符第一次出现的索引
* 打印结果 : 1
*/
System.out.println(str1.indexOf("-")); /**
* indexOf(int ch, int fromIndex)
* 获取字符第一次出现的索引,从指定索引开始搜索
* 打印结果 : 3
*/
System.out.println(str1.indexOf("-", 2)); /**
* indexOf(String str, int fromIndex)
* 获取str3字符串str1字符串中的索引
* 打印结果 : 6
*/
String str3 = "QW";
System.out.println(str1.indexOf(str3, 0));
indexOf
获取字符串指定索引的字符
charcharAt(int index) 返回字符串指定索引的值
其他类型换成字符串
- String
valueOf() 返回某种类型参数的字符串形式
- String
示例:
// 定义变量i
int i = 123;
// 返回整数类型的字符串格式。即把整型转换成字符串格式
System.out.println(String.valueOf(i));
valueOf
去空格
- String
trim()去除字符串两端空格
- String
示例:
// 定义字符串,两端带空格
String str1 = " 123qwe ";
// 调用trim 去除字符串两端空格
// 打印结果 : 123qwe
System.out.println(str1.trim());
trim
截取字符串
StringsubString(int beginIndex)根据规则,截取字符串
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* String substring(int beginIndex)
* 截取字符串,截取从索引开始之后的字符串
* (包含索引)
* 打印结果 : 2-3-QWE
*/
System.out.println(str1.substring(2)); /**
* String substring(int beginIndex, int endIndex)
* 截取字符串,截取从索引开始到后一个索引的字符串
* (包含前索引,不包含后索引)
* 打印结果 : 2-
*/
System.out.println(str1.substring(2, 4));
subString
拆分字符串
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* split(String regex) 根据指定规则拆分字符串
* 打印结果 : [1, 2, 3, QWE]
*/
String[] str = str1.split("-");
System.out.println(Arrays.toString(str));
/**
* split(String regex, int limit)
* 根据指定规则,将字符串拆分成几个字符串
* 打印结果 : [1, 2, 3-QWE]
*/
String[] split = str1.split("-", 3);
System.out.println(Arrays.toString(split));
split
替换字符串中的字符
- String
replace(char oldChar, char newChar) 根据规则,替换字符
- String
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* replace(char oldChar, char newChar)
* 根据指定规则,替换字符串中的字符。
* 打印结果 :1*2*3*QWE
*/
System.out.println(str1.replace("-", "*"));
replace
转换
将字符串转换成数组
char[]toCharArray()将字符串转换成一个新的字符数组
示例:
// 定义字符串,两端带空格
String str1 = " 123QWE ";
// 调用toCharArray() 将字符串中的字符,转换成大写
System.out.println(str1.trim().toCharArray());
toCharArray
字符串的大小写转换
StringtoUpperCase()将字符串所有字符转换成大写
示例:
// 定义字符串,两端带空格
String str1 = " 123qwe ";
// 调用toUpperCase 将字符串中的字符,转换成大写
System.out.println(str1.toUpperCase());
toUpperCase
- String
toLowerCase()将字符串中的所有字符转换成小写
- String
示例:
// 定义字符串,两端带空格
String str1 = " 123QWE ";
// 调用toLowerCase() 将字符串中的字符,转换成大写
System.out.println(str1.toLowerCase());
toLowerCase
String 字符串详解 / 常用API的更多相关文章
- 03-Java String字符串详解
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
- C# string 字符串详解 恒定 驻留
string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨.这篇文章共四节,来讲 ...
- Swift_字符串详解(String)
Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- Python变量和字符串详解
Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...
- 【转】Java魔法堂:String.format详解
Java魔法堂:String.format详解 目录 一.前言 二.重载方法 三.占位符 四.对字符.字符串进行格式化 五.对整数进行格式化 六. ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
- 小白的Python之路 day5 random模块和string模块详解
random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...
- C++之string类型详解
C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...
随机推荐
- ECMAScript——(二)
1.语法 区分大小写 变量是弱类型(定义变量时只用 var 运算符,可以将它初始化为任意值.) 每行结尾的分号可有可无(建议写上) 注释与Java一样 括号表示代码块 2.变量 变量可以不用声明,变量 ...
- 【NOI题解】【bzoj题解】NOI2008 bzoj1063 道路设计
@ACMLCZH学长出的毒瘤题T3.再也不是“善良”的出题人了. 题意:bzoj. 题解: 经典的树形DP题目,屡见不鲜了,然而我还是没有写出来. 这一类的题目有很多,例如这里的C题. 主要套路是把对 ...
- Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析【转】
转自:http://www.latelee.org/embedded-linux/porting-linux-tstest-code.html 本文是作者对tslib库的ts_test.c文件进行分析 ...
- NB-iot 和 emtc两种技术区别
此前有报道称,工信部正在拟定推动窄频物联网(NB-IoT)标准化,并对NB-IoT模块外形.封装以及针脚定义等提出新规范.业内人士认为,标准出台后将促进物联网规模化商用全面提速,迎来行业成长爆发期. ...
- python numpy数组中的复制问题
vector = numpy.array([5, 10, 15, 20]) equal_to_ten_or_five = (vector == 10) | (vector == 5) vector[e ...
- SQL 根据关联表更新主表中字段数据
今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息:现在要把主表的其中一个字段的数据更新到副表的一个字段中保存.精通的SQL语法的,当然是很简 ...
- Gradle教程链接
Gradle教程:https://www.yiibai.com/gradle/ https://www.cnblogs.com/wxishang1991/p/5532006.html
- 【Android开发日记】之入门篇(十二)——Android组件间的数据传输
组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...
- 虚拟机 windows xp sp3 原版
原版的镜像:http://www.7xdown.com/Download.asp?ID=3319&URL=http://d5.7xdown.com/soft2/&file=Window ...
- JQ + CSS实现浪漫表白必备
JQ + CSS实现浪漫表白必备页面 效果图: 图片素材 : 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta ...