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。(通过byte数组构造字符串对象。)

 
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 的对象strbuf 进行比较。相等返回true。


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:是否允许在比较中忽略大小写。如果匹配返回true


boolean


regionMatches(int thisStart, String string,
int start, int length)

用于比较一个字符串中特定区域与另一特定区域。如果匹配返回true


String


replace(CharSequence target, CharSequence replacement)

将字符号串中的target替换成replacement。


String


replace(char oldChar, char newChar)

将字符号串中的oldChar替换成newChar。


String


replaceAll(String regularExpression, String replacement)

将符合regularExpression (增则表达式)的内容都替换成replacement。


String


replaceFirst(String regularExpression, String replacement)

只将第一个符合regularExpression (增则表达式)的内容都替换成replacement。


String[]


split(String regularExpression)

将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。


String[]


split(String regularExpression,
int limit)

将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。其中参数:limit控制模式应用的次数,因此影响结果数组的长度。如果该限制
n 大于 0,则模式将被最多应用
n - 1 次,数组的长度将不会大于 n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。如果
n 为负,则模式将被应用尽可能多的次数,并且结尾空字符串将不会被丢弃。如果 n
为零,则模式将被应用尽可能多的次数。


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类详解

时间: 2024-08-10 01:59:42

Java String类详解的相关文章

java Random类详解

java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Random对象,相同次数生成的随机数字是完全相同的.也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也

String 类详解

StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上StringBuilder类更高,但是在多线程环境中则应该使用StringBuffer,String类是final的,所有改变String对象的操作都会生成一个新的String对象(通过调用StringBuilder类完成) public class LearnString { public static void main(

String类详解(1)

首先String是一个类. 1,实例化String类方法. 1)直接赋值:String name="haha"; 2)通过关键字:String name=new String("haha"); 2,String类的数据比较. 首先回顾一下,基础数据的比较使用"=="比较. public class StringDemo04{ public static void main(String args[]){ String str1 = "h

std::string类详解

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 标准模板库(STL)提供了一个std::string类,其是std::basic_string的一个特化,它是一个容器类,可把字符串当作普通类型来使用,并支持比

Java Calender 类详解

一.   如何创建 Calendar 对象 Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化. 1 Calendar cal = Calendar.getInstance(); 二.   字段详解 Calendar 中 set 和 get 时间都是通过在参数中填入不同的字段来实现的, 不过有部分字段的常量值与约定俗成的值不相同 下面字段我们

StringBuffer类详解(String、StringBuffer、StringBuilder的区别)

StringBuffer类详解 1.类结构: ·        java.lang.Object ·        java.lang.StringBuffer ·        All Implemented Interfaces: Serializable, Appendable, CharSequence public final class StringBuffer extends Object implements Serializable, CharSequence 2.类概述: 一

java环境变量详解---找不到或无法加载主类

刚学java,配置好环境变量之后,在DOS下却运行java小程序却始终出现"找不到或无法加载主类"然后返回配置环境变量折腾了好久,查看书籍.网上的资料,最终OK了!安装Eclipse始终出现 "could not find Java SE runtime environment"."could not find java dll"这样的问题,按照网上提供的资料却始终解决不了问题,最后将最新版本的Eclipse换了,才可以用. 以下是安装JDK的总

Java魔法堂:String.format详解

Java魔法堂:String.format详解   目录     一.前言    二.重载方法     三.占位符     四.对字符.字符串进行格式化     五.对整数进行格式化     六.对浮点数进行格式化     七.对日期时间进行格式化     八.其他转换符  九.总结   参考 一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John&q

Java魔法堂:String.format详解 (转载)

Java魔法堂:String.format详解   目录 一.前言 二.重载方法 三.占位符 四.对字符.字符串进行格式化 五.对整数进行格式化 六.对浮点数进行格式化 七.对日期时间进行格式化 八.其他转换符   九.总结   参考 一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John"); ,下面将笔记整理并记录下来. 二.重载方法 /