String
不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型
字符串是是一个字符序列
1、创建
创建有多种 最简单最直接就是直接声明加初始化
String xx=“”;String xx=new String(); 或者String(char[])
也可以通过new String(object),object.toString 等创建
常见用法:
2、String 长度 s..length()
3、字符串链接
直接“+”:通过“+”
连接不同的字符串,实际上是产生了一个StringBuilder对象和一个String对象,然后挨着append在一起
通过StringBuilder+append
// 定义
String xx=" test Stri ng ";
System.out.println("字符串:"+xx);
// 长度
int length =xx.length();
System.out.println("字符串长度:"+length);
// 某位置字符
char c =xx.charAt(0);
System.out.println("某位置字符:"+c);
// 去除空格
// xx.trim();// 去除前缀和后缀空格
StringTokenizer st=new StringTokenizer(xx," ");// 分割和追加
StringBuffer sb=new StringBuffer();
while (st.hasMoreTokens()) {
sb.append(st.nextToken());
}
System.out.println("去除所有空格"+sb.toString());
String sp[]=xx.split("\\s+");
sb=new StringBuffer();
for (String string : sp) {
sb.append(string);
}
System.out.println("去除所有空格"+sb.toString());
String replace=xx.replaceAll(" " , "");
System.out.println("去除所有空格"+replace);
// 字符串替换 replace replaceAll replacfirst
String replace1=xx.replace("n" , "XXXX");
System.out.println("替换"+replace1);
// 字符串比较 xx.equalsIgnoreCase 是忽略大小写的情况
// "==" 判断两个引用的是不是同一个内存地址(同一个物理对象),equals 判断两个字符串的值是否相等
if(xx.equals(" test Stri ng ")){
System.out.println("内容相等");
}
// 字母大小写转换
System.out.println(xx.toLowerCase());
System.out.println(xx.toUpperCase());
// 字符串分割 split
String sp1[]=xx.split("\\s+");
System.out.println(sp1[0]);
// 字符串的格式化 format
String a=String.format("%ta", new Date());
System.out.println(a);
// 时间格式化
SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
System.out.println( mDateFormat.format(new Date()));
附1:字符串方法归类
SN |
方法及描述 |
1 |
char charAt(int index)
返回指定索引处的字符。 |
2 |
int compareTo(Object o)
比较这个字符串与另一个对象。 |
3 |
int compareTo(String anotherString)
比较两个字符串的字典顺序。 |
4 |
int compareToIgnoreCase(String str)
比较两个字符串按字典顺序,不区分大小写的差异。 |
5 |
String concat(String str)
将指定的字符串串连到这个字符串的结尾。 |
6 |
boolean contentEquals(StringBuffer sb)
返回true当且仅当该字符串代表相同的字符序列作为指定的StringBuffer。 |
7 |
static String copyValueOf(char[] data)
返回表示所指定的数组中的字符序列的字符串。 |
8 |
static String copyValueOf(char[] data, int offset, int
count)
返回表示所指定的数组中的字符序列的字符串。 |
9 |
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。 |
10 |
boolean equals(Object anObject)
比较此字符串与指定的对象。 |
11 |
boolean equalsIgnoreCase(String anotherString)
比较这个字符串到另一个字符串,忽略大小写的考虑。 |
12 |
byte getBytes()
将此String解码使用平台的默认字符集,并将结果存储到一个新的字节数组中的字节序列。 |
13 |
byte[] getBytes(String charsetName
将此String解码使用指定的字符集的字节序列,并将结果存储到一个新的字节数组。 |
14 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
复制字符从这个字符串到目标字符数组。 |
15 |
int hashCode()
返回一个哈希代码这个字符串。 |
16 |
int indexOf(int ch)
返回此字符串指定字符第一次出现处的索引。 |
17 |
int indexOf(int ch, int fromIndex)
返回索引这个字符串中指定字符第一次出现处,指定索引处开始搜索。 |
18 |
int indexOf(String str)
返回此字符串指定子字符串的第一次出现处的索引。 |
19 |
int indexOf(String str, int fromIndex)
返回索引这个字符串中指定子字符串的第一次出现处,从指定的索引处。 |
20 |
String intern()
返回字符串对象的规范化表示。 |
21 |
int lastIndexOf(int ch)
返回此字符串指定字符最后一次出现处的索引。 |
22 |
int lastIndexOf(int ch, int fromIndex)
返回此字符串指定子字符串的最右边出现处的索引。 |
23 |
int lastIndexOf(String str)
返回此字符串指定子字符串的最右边出现处的索引。 |
24 |
int lastIndexOf(String str, int fromIndex)
返回索引这个字符串中指定子字符串的最后出现处,向后搜索指定的索引开始处。 |
25 |
int length()
返回此字符串的长度。 |
26 |
boolean matches(String regex)
通知此字符串是否给定的正则表达式匹配。 |
27 |
boolean regionMatches(boolean ignoreCase, int toffset,
String other, int ooffset, int len)
测试两个字符串的区域等于。 |
28 |
boolean regionMatches(int toffset, String other, int
ooffset, int len)
测试两个字符串的区域都是相等的。 |
29 |
String replace(char oldChar, char newChar)
返回从newChar更换oldChar所有出现在此字符串中产生一个新的字符串。 |
30 |
String replaceAll(String regex, String replacement
替换此字符串中给定的正则表达式与给定替换相匹配的每个子字符串。 |
31 |
String replaceFirst(String regex, String replacement)
替换此字符串匹配给定的正则表达式给定替换第一个子字符串. |
32 |
String[] split(String regex)
分割这个字符串围绕给定的正则表达式匹配. |
33 |
String[] split(String regex, int limit)
分割这个字符串围绕给定的正则表达式匹配。 |
34 |
boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开头。 |
35 |
boolean startsWith(String prefix, int toffset)
测试此字符串是否以指定索引开始的指定前缀开始。 |
36 |
CharSequence subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,这个序列的子序列。 |
37 |
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。 |
38 |
String substring(int beginIndex, int endIndex)
返回一个新的字符串,它是此字符串的一个子字符串。 |
39 |
char[] toCharArray()
这个字符串转换为一个新的字符数组。 |
40 |
String toLowerCase()
将所有在此字符串中的字符的使用默认语言环境的规则小写。 |
41 |
String toLowerCase(Locale locale)
将所有在此字符串中的字符来使用给定Locale的规则小写。 |
42 |
String toString()
这个对象(它已经是一个字符串!)返回字符串形式(这里是自己本身)。 |
43 |
String toUpperCase()
转换所有的字符在使用默认语言环境的规则将此String为大写。 |
44 |
String toUpperCase(Locale locale)
转换所有的字符使用给定Locale的规则将此String为大写。 |
45 |
String trim()
返回字符串的一个副本,开头和结尾的空格去除。 |
46 |
static String valueOf(primitive data type x)
返回传递的数据类型参数的字符串表示形式。 |