Java String类详解
Java String类详解
Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生。
类结构:
public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence
类概述:
Java程序中的所有字面值(string literals),即双引号括起的字符串,如"abc",都是作为String类的实例实现的。
String是常量,其对象一旦构造就不能再被改变。换句话说,String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创造了一个全新的String对象,以包含修改后的字符串内容。
String对象具有只读特性,指向它的任何引用都不可能改变它的值,因此,也不会对其他的引用有什么影响。
构造方法:
|
Public Constructors |
|
|
String() 构造一个空字符串。 |
|
|
String(byte[] data) 将字节数组转换为字符串使用系统的default charset |
|
|
String(byte[] data, int offset, int byteCount) 将字节数组中指定字节转换成字符串。 |
|
|
String(byte[] data, int offset, int byteCount, String charsetName) 使用指定的字符集,将字节数组中指定字节转换成字符串。 |
|
|
String(byte[] data, String charsetName) 使用指定的字符集,将字节数组转换成一个字符串。 |
|
|
String(byte[] data, int offset, int byteCount, Charset charset) 使用指定的字符集,将字节数组中指定字节转换成字符串。 |
|
|
String(byte[] data, Charset charset) 使用指定的字符集,将字节数组转换成字符串。 |
|
|
String(char[] data) 将字符数组转换成字符串 |
|
|
String(char[] data, int offset, int charCount) 将字符数组中指定字符转换成字符串。 |
|
|
String(String toCopy) 构造一个toCopy的副本。即:拷贝一个toCopy。 |
|
|
String(StringBuffer stringBuffer) 将StringBuffer转换成字符串。 |
|
|
String(int[] codePoints, int offset, int count) 分配一个String,它包含该 Unicode 代码点数组参数的一个子数组的字符。 |
|
|
String(StringBuilder stringBuilder) 将StringBuilder 转换成字符串。 |
|
常用公有方法:
|
Public Methods |
|
|
char |
charAt(int index) 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。 |
|
int |
compareTo(String anotherString) 当前String对象与anotherString比较。相等返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。 |
|
String |
concat(String str) 将该String对象与str连接在一起。提示:通过“+”串联更方便。 |
|
boolean |
contentEquals(CharSequence cs) 将该String对象与CharSequence的 对象cs进行比较。相等返回true。 |
|
boolean |
contentEquals(StringBuffer strbuf) 将该String对象与StringBuffer 的对象 |
|
static String |
copyValueOf(char[] data, int start, int length) 将char数组中指定字符转换成String。 |
|
static String |
copyValueOf(char[] data) 将char数组转换成String。 |
|
boolean |
endsWith(String suffix) 判断该字符串是否以suffix结尾。是返回true。 |
|
boolean |
equals(Object anObject) 当anObject不为空并且与当前String对象一样,返回true;否则,返回false。 |
|
boolean |
equalsIgnoreCase(String string) 比较字符串与another是否一样(忽略大小写)。 |
|
byte[] |
getBytes(String charsetName) 使用指定字符集,将该String对象转换成byte数组。 |
|
byte[] |
getBytes(Charset charset) 使用指定字符集,将该String对象转换成byte数组。 |
|
byte[] |
getBytes() 将该String对象转换成byte数组,使用默认字符集。 |
|
void |
getChars(int start, int end, char[] buffer, int index) 将字符串拷贝到字符数组中。其中,start为拷贝的起始位置、end为拷贝的结束位置、字符串数值buffer为目标字符数组、index为目标字符数组的拷贝起始位置。 |
|
int |
hashCode() 返回当前字符的哈希表码。 |
|
int |
indexOf(int c) 自左向右只找第一个匹配字符位置。 |
|
int |
indexOf(int c, int fromIndex) 从fromIndex开始自左向右找第一个匹配字符位置。 |
|
int |
indexOf(String subString, int fromIndex) 从fromIndex开始自左向右找第一个匹配字符串位置。 |
|
int |
indexOf(String string) 自左向右查找第一个匹配字符串位置。 |
|
boolean |
isEmpty() 如果字符串的长度为0,则返回true。 |
|
int |
lastIndexOf(String string) 自右向左查找第一个匹配字符串位置。 |
|
int |
lastIndexOf(int c, int fromIndex) 从fromIndex开始自右向左找第一个匹配字符串位置。 |
|
int |
lastIndexOf(int c) 自右向左查找第一个匹配字符位置。 |
|
int |
lastIndexOf(String subString, int start) 从fromIndex开始自右向左找第一个匹配字符串位置。 |
|
int |
length() 返回字符串的字符个数。 |
|
boolean |
regionMatches(boolean ignoreCase, int thisStart, String string, int start, int length) 用于比较一个字符串中特定区域与另一特定区域。参数ignoreCase:是否允许在比较中忽略大小写。如果匹配返回 |
|
boolean |
regionMatches(int thisStart, String string, int start, int length) 用于比较一个字符串中特定区域与另一特定区域。如果匹配返回 |
|
String |
replace(CharSequence target, CharSequence replacement) 将字符号串中的target替换成replacement。 |
|
String |
replace(char oldChar, char newChar) 将字符号串中的oldChar替换成newChar。 |
|
String |
replaceAll(String regularExpression, String replacement) 将符合 |
|
String |
replaceFirst(String regularExpression, String replacement) 只将第一个符合 |
|
String[] |
split(String regularExpression) 将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。 |
|
String[] |
split(String regularExpression, int limit) 将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。其中参数:limit控制模式应用的次数,因此影响结果数组的长度。 |
|
boolean |
startsWith(String prefix) 该String对象是否以prefix开始。 |
|
boolean |
startsWith(String prefix, int start) 该String对象从toffset位置算起,是否以prefix开始。 |
|
CharSequence |
subSequence(int start, int end) 取从start位置开始到end位置结束的CharSequence。 |
|
String |
substring(int start) 取从start位置开始到结束的子字符串。 |
|
String |
substring(int start, int end) 取从start位置开始到end位置结束的子字符串。 |
|
char[] |
toCharArray() 将该String对象转换成char数组。 |
|
String |
toLowerCase() 将字符串转换成小写。 |
|
String |
toUpperCase() 将字符串转换成大写。 |
|
String |
trim() 移除字符串中的空格。 |
|
static String |
valueOf(long value) 将long 类型的对象转换成字符串。 |
|
static String |
valueOf(Object value) 将value对象转换成字符串。 |
|
static String |
valueOf(char[] data) 将char[]类型的对象转换成字符串。 |
|
static String |
valueOf(double value) 将double类型的对象转换成字符串。 |
|
static String |
valueOf(int value) 将int类型的对象转换成字符串。 |
|
static String |
valueOf(float value) float类型的对象转换成字符串。 |
|
static String |
valueOf(char[] data, int start, int length) 将字符数组中从start位置开始长度为length的字符转换成字符串。 |
|
static String |
valueOf(boolean value) 将boolean类型的对象转换成字符串。 |
|
static String |
valueOf(char value) 将char类型的对象转换成字符串。 |
Java String类详解的更多相关文章
- java 复习整理(四 String类详解)
String 类详解 StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...
- Java 枚举类详解
1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...
- Java的String类详解
Java的String类 String类是除了Java的基本类型之外用的最多的类, 甚至用的比基本类型还多. 同样jdk中对Java类也有很多的优化 类的定义 public final class S ...
- Java常用类(一)String类详解
前言 在我们开发中经常会用到很多的常用的工具类,这里做一个总结.他们有很多的方法都是我们经常要用到的.所以我们一定要把它好好的掌握起来! 一.String简介 1.1.String(字符串常量)概述 ...
- Java常用类(二)String类详解
前言 在我们开发中经常会用到很多的常用的工具类,这里做一个总结.他们有很多的方法都是我们经常要用到的.所以我们一定要把它好好的掌握起来! 一.String简介 1.1.String(字符串常量)概述 ...
- Java基础:String类详解,案例用户登录实现,案例手机号截取实现,案例敏感词替换实现;StringBuilder类详解,StringBuilder和String相互转换,附练习案例.
1.API 1.1 API概述-帮助文档的使用 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK ...
- STL之string类详解
通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类 ...
- java Random类详解
java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随 ...
- JAVA - 大数类详解
写在前面 对于ACMer来说,java语言最大的优势就是BigInteger,Bigdecimal,String三个类. 这三个类分别是高精度整数,高精度浮点数和字符串,之所以说这个是它的优势是因为j ...
随机推荐
- 20145317彭垚 《Java程序设计》第4周学习总结
20145317彭垚 <Java程序设计>第04周学习总结 20145317彭垚 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承就是避免多个类间重复定义共同行 ...
- LR网页细分图中的时间详解
Web Page Diagnostics: 1)DNS Resolution:浏览器访问一个网站的时候,一般用的是域名,需要dns服务器把这个域名解析为IP,这个过程就是域名解析时间,如果我们在局域网 ...
- 使用 Linux 搭建 VPN
http://blog.csdn.net/catoop/article/details/7537012 VPN服务器的配置与应用 实验场景 通过将Linux配置VPN服务器允许远程计算机能够访问内网. ...
- Java反射机制深入研究
ava 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”. 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? ...
- [daily][device][bluetooth] 蓝牙怎么办!(archlinux下驱动蓝牙鼠标,以及三星手机)
去年地摊买的破无线鼠标坏掉了.看上微软的Designer Mouse蓝牙鼠,但是买之前我要确认我能不能驱起来. 这款鼠标只支持蓝牙4.0.系统支持windows8以上,不支持xp和windows7. ...
- JBoss的安装与配置(对应eclipse配置)【转】
安装JBoss纯粹是目的就是学习EJB3...至少现在是这样的 EJB需要运行在EJB容器中.每个J2EE应用服务器都含有EJB容器和Web容器.这样,既支持运行EJB,也可以运行Web应用 目前EJ ...
- NSUserdefaults 简介以及存储自定义数据类型的方法
一.了解NSUserDefaults以及它可以直接存储的类型 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一 ...
- XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, ...
- 汇编ASCII大小写转换(字符串长度$的用法)
data segment first db "BaSiC" db "iNfOrMaTiOn" len equ $-first ;×Ö·û´®³¤¶È ends ...
- Linux进程间通信与线程间同步详解(全面详细)
引用:http://community.csdn.net/Expert/TopicView3.asp?id=4374496linux下进程间通信的几种主要手段简介: 1. 管道(Pipe)及有名管道( ...