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类详解的更多相关文章

  1. java 复习整理(四 String类详解)

    String 类详解   StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...

  2. Java 枚举类详解

    1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...

  3. Java的String类详解

    Java的String类 String类是除了Java的基本类型之外用的最多的类, 甚至用的比基本类型还多. 同样jdk中对Java类也有很多的优化 类的定义 public final class S ...

  4. Java常用类(一)String类详解

    前言 在我们开发中经常会用到很多的常用的工具类,这里做一个总结.他们有很多的方法都是我们经常要用到的.所以我们一定要把它好好的掌握起来! 一.String简介 1.1.String(字符串常量)概述 ...

  5. Java常用类(二)String类详解

    前言 在我们开发中经常会用到很多的常用的工具类,这里做一个总结.他们有很多的方法都是我们经常要用到的.所以我们一定要把它好好的掌握起来! 一.String简介 1.1.String(字符串常量)概述 ...

  6. Java基础:String类详解,案例用户登录实现,案例手机号截取实现,案例敏感词替换实现;StringBuilder类详解,StringBuilder和String相互转换,附练习案例.

    1.API 1.1 API概述-帮助文档的使用 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK ...

  7. STL之string类详解

    通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类 ...

  8. java Random类详解

    java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随 ...

  9. JAVA - 大数类详解

    写在前面 对于ACMer来说,java语言最大的优势就是BigInteger,Bigdecimal,String三个类. 这三个类分别是高精度整数,高精度浮点数和字符串,之所以说这个是它的优势是因为j ...

随机推荐

  1. ADO 事务

    Ado.Net事务处理.在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务.若要执行事务,请执行下列操作:• 调用Connection 对象的BeginTra ...

  2. JStack分析cpu消耗过高问题

    Mark一下, 今天确实用这个方法找到了问题 http://www.iteye.com/topic/1114219 1. top找到目标进程,记下pid 2. top –p pid, 并用shift+ ...

  3. transform animation transition css3动画

    transform 定义   transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜. 值 应用  如果transform与transition联合起 ...

  4. 出现upstream sent too big header while reading response header from upstream错误

    一个POS系统,出现upstream sent too big header while reading response header from upstream错误. 1.反向代理端,可以放到se ...

  5. 实验三--for语句及分支结构else-if

    本节课学习到的知识点: 1.for语句的表达式的应用与掌握.流程形式. 2.多分支else-if,用来判断真假等. 实验中遇到的问题及解决方法: 这次课的逻辑要求比之前的课要难许多,而且对于一些数学逻 ...

  6. avalon---qunar ued

    http://avalonjs.github.io/ http://ued.qunar.com/ https://github.com/RubyLouvre/avalon 1.前后端分离-- 2.gr ...

  7. 树莓派如何便捷的使用pi4j

    问题的由来 pi4j用起来很方便,但是感觉pi4j库的命名太杂乱,啰嗦了,很容易弄混,而且好像没听说官方有自己的编译器.如果没有智能点的编辑器的话,写起来真要命,但是树莓派运行Eclipse不太现实, ...

  8. CDH商业版本的搭建(hadoop+hive+sqoop)

    一:准备工作 1.步骤 1)hadoop ->下载解压 ->修改配置文件 ->hadoop-env JAVA_HOME ->core-site fs.defaultFS had ...

  9. QProgressBar的使用例子

    今天下午动手实践了一下QProgressBar,遇到的问题比较多,浪费了不少时间,但收获同样颇多... 程序界面如下:  1 // progressbar.h  2   3 #ifndef PROGR ...

  10. POI简易帮助文档系列--给Excel设置样式

    正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. package com.myja ...