String类
字符串是一个特殊的对象。
字符串一旦初始化就不可以被改变。
String str = “abc”;
String str1 = new String(“abc”);
有什么区别 ?
字符串一旦初始化就不可以被改变。
String str = “abc”;
String str1 = new String(“abc”);
有什么区别 ?
@Test
public void test(){
/*
* 字符串String
* 1,字符串是常量,一旦初始化,就不可以被改变。
*/
String s="abc";
System.err.println(s);
s=s+"d";
System.err.println(s);
String s2="xxx";
String s3=s2;
String s4=new String(s2);
System.err.println(s2==s3);//true
System.err.println(s4==s3);//false
}
以上输出结果分别是abc和abcd 但是内存中字符串常量没有改变 只是s的引用指向了不同的常量
一旦new 就会在内存中开辟新的内存空间 所有s2和s3的引用指向了同一个常量 所有s2=s3 s4!=s3
String类部分方法
char charAt(int index)
int length()
char[] to CharArray();
int indexOf(String str);
boolean endsWith(String str);
String[] split(String reg);
String substring(int index);
String(char[] arr);
int length()
char[] to CharArray();
int indexOf(String str);
boolean endsWith(String str);
String[] split(String reg);
String substring(int index);
String(char[] arr);
public static void main(String[] args) {
/*
* 字符串的功能: "abcde"; 1,字符个数。int 无参数 int length();
*
* 2,查找一个字符出现的位置。如果没有这个字符呢?返回-1. int char indexOf lastIndexOf
*
* 3,根据位置获取字符。如果没有该位置呢? char int char charAt(index);
*
* 4,将字符串转成大写。 String toUpperCase();
*
* 5,判断字符串的开头,结尾。 boolean startWith(string); boolean endsWith(string);
*
* 6,字符串中是否包含指定字符串。 boolean contains(string);
*
* 7,截取一部分字符串。 String substring(int start,int end)
*
*
* 8,将字符串中的c替换成n。如果字符串中没有c呢? string replace(char char)
*
* 思考:字符串可以比大小吗? 记住基本数值比较大小用比较运算符 > < 大写比较大小使用的是方法 其中一个就是
* compareTo();返回的是 正数 负数0.
*/
String str = "abcdeabc";
// 1,获取a字母出现的位置。
System.out.println("indexOf('a')=" + str.indexOf('a'));// 0
System.out.println("lastindexOf('a')=" + str.lastIndexOf('a'));// 5
// 2,获取角标3上的字符。
// System.out.println("charAt(3)="+str.charAt(30));//d//StringIndexOutOfBoundsException
// 3,将字符串转成大写
String s1 = str.toUpperCase();
System.out.println("uppercase=" + s1);// ABCDEABC
// 4,该字符串是否已Demo开头,是否以.java结束。
boolean b1 = str.endsWith(".java");
boolean b2 = str.startsWith("Demo");
// 5,该字符串中是否包含cd字符串。
System.out.println("contains(\"cd\")=" + str.contains("cd"));// true
// 6,截取2,5之间的字符串。
System.out.println("substring(2,5)=" + str.substring(2, 5));// cde
// 7,将字符串中的a替换成k。
System.out.println("replace('a','k')=" + str.replace('a', 'k'));// kbcdekbc
// 8,字符串比较大小。
System.out.println("compareTo(\"aaa\")=" + str.compareTo("abc"));
}
凡是返回值有三种情况 如大于小于i等于 返回值一定是整数的 对象比较用方法 基本类型用><
-
Field Summary
Modifier and Type Field and Description static Comparator<String>
CASE_INSENSITIVE_ORDER
A Comparator that ordersString
objects as bycompareToIgnoreCase
.
-
Constructor Summary
Constructor and Description String()
Initializes a newly createdString
object so that it represents an empty character sequence.String(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the platform's default charset.String(byte[] bytes, Charset charset)
Constructs a newString
by decoding the specified array of bytes using the specified charset.String(byte[] ascii, int hibyte)
Deprecated.This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via theString
constructors that take aCharset
, charset name, or that use the platform's default charset.String(byte[] bytes, int offset, int length)
Constructs a newString
by decoding the specified subarray of bytes using the platform's default charset.String(byte[] bytes, int offset, int length, Charset charset)
Constructs a newString
by decoding the specified subarray of bytes using the specified charset.String(byte[] ascii, int hibyte, int offset, int count)
Deprecated.This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via theString
constructors that take aCharset
, charset name, or that use the platform's default charset.String(byte[] bytes, int offset, int length, String charsetName)
Constructs a newString
by decoding the specified subarray of bytes using the specified charset.String(byte[] bytes, String charsetName)
Constructs a newString
by decoding the specified array of bytes using the specified charset.String(char[] value)
Allocates a newString
so that it represents the sequence of characters currently contained in the character array argument.String(char[] value, int offset, int count)
Allocates a newString
that contains characters from a subarray of the character array argument.String(int[] codePoints, int offset, int count)
Allocates a newString
that contains characters from a subarray of the Unicode code point array argument.String(String original)
Initializes a newly createdString
object so that it represents the same sequence of characters as the argument; in other words, the newly created string is a copy of the argument string.String(StringBuffer buffer)
Allocates a new string that contains the sequence of characters currently contained in the string buffer argument.String(StringBuilder builder)
Allocates a new string that contains the sequence of characters currently contained in the string builder argument.
-
Method Summary
Modifier and Type Method and Description char
charAt(int index)
Returns thechar
value at the specified index.int
codePointAt(int index)
Returns the character (Unicode code point) at the specified index.int
codePointBefore(int index)
Returns the character (Unicode code point) before the specified index.int
codePointCount(int beginIndex, int endIndex)
Returns the number of Unicode code points in the specified text range of thisString
.int
compareTo(String anotherString)
Compares two strings lexicographically.int
compareToIgnoreCase(String str)
Compares two strings lexicographically, ignoring case differences.String
concat(String str)
Concatenates the specified string to the end of this string.boolean
contains(CharSequence s)
Returns true if and only if this string contains the specified sequence of char values.boolean
contentEquals(CharSequence cs)
Compares this string to the specifiedCharSequence
.boolean
contentEquals(StringBuffer sb)
Compares this string to the specifiedStringBuffer
.static String
copyValueOf(char[] data)
Returns a String that represents the character sequence in the array specified.static String
copyValueOf(char[] data, int offset, int count)
Returns a String that represents the character sequence in the array specified.boolean
endsWith(String suffix)
Tests if this string ends with the specified suffix.boolean
equals(Object anObject)
Compares this string to the specified object.boolean
equalsIgnoreCase(String anotherString)
Compares thisString
to anotherString
, ignoring case considerations.static String
format(Locale l, String format, Object... args)
Returns a formatted string using the specified locale, format string, and arguments.static String
format(String format, Object... args)
Returns a formatted string using the specified format string and arguments.byte[]
getBytes()
Encodes thisString
into a sequence of bytes using the platform's default charset, storing the result into a new byte array.byte[]
getBytes(Charset charset)
Encodes thisString
into a sequence of bytes using the given charset, storing the result into a new byte array.void
getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
Deprecated.This method does not properly convert characters into bytes. As of JDK 1.1, the preferred way to do this is via thegetBytes()
method, which uses the platform's default charset.byte[]
getBytes(String charsetName)
Encodes thisString
into a sequence of bytes using the named charset, storing the result into a new byte array.void
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Copies characters from this string into the destination character array.int
hashCode()
Returns a hash code for this string.int
indexOf(int ch)
Returns the index within this string of the first occurrence of the specified character.int
indexOf(int ch, int fromIndex)
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.int
indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring.int
indexOf(String str, int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.String
intern()
Returns a canonical representation for the string object.boolean
isEmpty()
Returns true if, and only if,length()
is 0.int
lastIndexOf(int ch)
Returns the index within this string of the last occurrence of the specified character.int
lastIndexOf(int ch, int fromIndex)
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index.int
lastIndexOf(String str)
Returns the index within this string of the last occurrence of the specified substring.int
lastIndexOf(String str, int fromIndex)
Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index.int
length()
Returns the length of this string.boolean
matches(String regex)
Tells whether or not this string matches the given regular expression.int
offsetByCodePoints(int index, int codePointOffset)
Returns the index within thisString
that is offset from the givenindex
bycodePointOffset
code points.boolean
regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Tests if two string regions are equal.boolean
regionMatches(int toffset, String other, int ooffset, int len)
Tests if two string regions are equal.String
replace(char oldChar, char newChar)
Returns a new string resulting from replacing all occurrences ofoldChar
in this string withnewChar
.String
replace(CharSequence target, CharSequence replacement)
Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence.String
replaceAll(String regex, String replacement)
Replaces each substring of this string that matches the given regular expression with the given replacement.String
replaceFirst(String regex, String replacement)
Replaces the first substring of this string that matches the given regular expression with the given replacement.String[]
split(String regex)
Splits this string around matches of the given regular expression.String[]
split(String regex, int limit)
Splits this string around matches of the given regular expression.boolean
startsWith(String prefix)
Tests if this string starts with the specified prefix.boolean
startsWith(String prefix, int toffset)
Tests if the substring of this string beginning at the specified index starts with the specified prefix.CharSequence
subSequence(int beginIndex, int endIndex)
Returns a new character sequence that is a subsequence of this sequence.String
substring(int beginIndex)
Returns a new string that is a substring of this string.String
substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.char[]
toCharArray()
Converts this string to a new character array.String
toLowerCase()
Converts all of the characters in thisString
to lower case using the rules of the default locale.String
toLowerCase(Locale locale)
Converts all of the characters in thisString
to lower case using the rules of the givenLocale
.String
toString()
This object (which is already a string!) is itself returned.String
toUpperCase()
Converts all of the characters in thisString
to upper case using the rules of the default locale.String
toUpperCase(Locale locale)
Converts all of the characters in thisString
to upper case using the rules of the givenLocale
.String
trim()
Returns a copy of the string, with leading and trailing whitespace omitted.static String
valueOf(boolean b)
Returns the string representation of theboolean
argument.static String
valueOf(char c)
Returns the string representation of thechar
argument.static String
valueOf(char[] data)
Returns the string representation of thechar
array argument.static String
valueOf(char[] data, int offset, int count)
Returns the string representation of a specific subarray of thechar
array argument.static String
valueOf(double d)
Returns the string representation of thedouble
argument.static String
valueOf(float f)
Returns the string representation of thefloat
argument.static String
valueOf(int i)
Returns the string representation of theint
argument.static String
valueOf(long l)
Returns the string representation of thelong
argument.static String
valueOf(Object obj)
Returns the string representation of theObject
argument.