Java 字符串
字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
一、创建字符串
创建字符串最简单的方法如下:
String greeting = "hello world!";
String 类有11种构造方法,这些方法提供不同的参数来初始化字符串。这里只介最简单的方法,其它的不做过多介绍。
注意:String类是不可改变的,所以一旦创建了String对象,那它的值就无法改变。如果需要对字符串坐很多修改,那么应该选择使用StringBuilder & StringBuffer类。
二、字符串长度
用于获取有关对象的信息的方法称为访问器方法。
String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数。
下面的代码执行后,len变量等于13:
public class StringDemo {
public static void main(String args[]) {
String site = "www.baidu.com";
int len = site.length();
System.out.println( "菜鸟教程网址长度 : " + len );
}
}
三、字符串链接
String类提供改了链接两个字符串的方法:
string1.concat(string2);
返回 string2 连接 string1 的新字符串。也可以对字符串常量使用 concat() 方法,如:
"my name is".concat("robot");
更常用的是使用“+”操作符来链接字符串,如:
"hello" + " world" + "!";
实例:
public class StringDemo {
public static void main(String args[]) {
String string1 = "hello ";
System.out.println("1、" + string1 + "Java");
}
}
四、创建格式化字符串
我们知道输出格式化数字可以使用 printf() 和 format() 方法。
String 类使用静态方法 format() 返回一个String 对象而不是 PrintStream 对象。
String 类的静态方法 format() 能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。
如下所示:
System.out.printf("浮点型变量的值为 " +
"%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " +
"is %s", floatVar, intVar, stringVar);
也可以这样写:
String fs;
fs = String.format("浮点型变量的值为 " +
"%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " +
" %s", floatVar, intVar, stringVar);
五、String常用方法
1、根据位置获取位置上某个字符。
char charAt(int index)
2、根据字符获取该字符在字符串中的位置。
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。
int indexOf(String str):返回的是str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。
3、反向索引
int lastIndexOf(String str) # 反向索引
4、字符串中是否有内容。
boolean isEmpty():原理就是判断长度是否为0。
5、字符串是否以指定内容开头。
boolean startsWith(str);
6、字符串是否以指定内容结尾。
boolean endsWith(str);
7、判断字符内容是否相同,复写了object类中的equals方法。
boolean equals(str);
8、判断内容是否相同,并忽略大小写。
boolean.equalsIgnorecase();
9、将字符数组转成字符串。
构造函数:String(char[])
String(char[],offset,count): // 将字符数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count);
static String valueOf(char[]);
10、将字符串转成字符组
char[] tocharArray();
11、将字节数组转成字符串。
String(byte[])
String(byte[],offset,count):将字节数组中的一部分转成字符串
12、将字符串转成字节数组。
byte[] getBytes()
13、将基本数据类型转成字符串,
static String valueOf(int)
static String valueOf(double)
// 3+"" 与 String.valueOf(3)的值是一样的
特殊:字符串和字节数组在转换过程中,是可以指定编码的。
14、替换
String replace(oldchar,newchar);
15、切割
String[] split(regex);
16、子串。获取字符串中的而一部分
String subString(begin);
String subString(begin,end);
17、转换,去除空格,比较。
将字符串转成大写或小写
String toUpperCsae() 大转小
String toLowerCsae() 小转大
将字符串两端的多个空格去除
String trim();
对两个字符串进行自然顺序的比较
int compareTo(string);
更多代码示例地址:Day7