java中的String类
1.String 类
包:java.lang 【不需要导包】
类的定义:
public final class String [没有子类,不能被继承]
extends Object
implements Serializable, Comparable<String>, CharSequence
含义:处理字符串数据 【字符串数据是程序处理最多的数据】
2.String类对象的创建
1.可以象基本数据类型一个创建String类对象
String str1="hello";
2.可以利用构造方法创建对象
String() 初始化新创建的 String对象,使其表示空字符序列。
String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。
String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
String(char[] value, int offset, int count) 分配一个新的 String ,其中包含字符数组参数的子阵列中的字符。
例如:
//String() 初始化新创建的 String对象,使其表示空字符序列。
String str2=new String();
//String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。
String str3=new String("world");
//String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
//byte[] bytes--字节数组
// int offset----数组元素的起始位置
//int length---数组的元素个数
//将字节数组转换成String [输入、输出流]
byte bytearray[]={97,98,99,100};
String str4=new String(bytearray,0,bytearray.length);
System.out.println("str4=="+str4); //abcd
//String(char[] value, int offset, int count) 分配一个新的 String ,其中包含字符数组参数的子阵列中的字符。
//char[] value--字符数组
// int offset----数组元素的起始位置
//int count---数组的元素个数
//将字符数组转换成String [输入、输出流]
char charArray[]={'网','星','软','件'};
String str5=new String(charArray,0,charArray.length);
System.out.println("str5=="+str5);//网星软件
3.String类对象的使用 【调用方法处理符串数据】
char charAt(int index) 返回 char指定索引处的值。
例如:
String str1=new String("hello,world");
char c=str1.charAt(0);
System.out.println("c=="+c); //h
boolean contains(CharSequence s) 当且仅当此字符串包含指定的char值序列时才返回true。
例如:
String str1=new String("hello,world");
boolean b=str1.contains("ow");
System.out.println("b=="+b);
boolean endsWith(String suffix)测试此字符串是否以指定的后缀结尾
例如:
String strarray[]={"zhangsan","lisi","wangwu","zhangsi"};
for(String value:strarray){
if(value.endsWith("si")){
System.out.println("name=="+value);
}
}
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。
例如:
String strarray[]={"zhangsan","lisi","wangwu","zhangsi"};
for(String value:strarray){
if(value.startsWith("zhang")){
System.out.println("name=="+value);
}
}
byte[] getBytes() 使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。
例如:
byte byteArray[]= str1.getBytes();
for(byte val:byteArray){
System.out.println("val=="+val);
}
char[] toCharArray() 将此字符串转换为新的字符数组。
例如:
char charray[]=str1.toCharArray();
for(char val:charray){
System.out.println("val=="+val);
}
int indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引。
例如:
int index=str1.indexOf("ll");
System.out.println("index=="+index);
int lastIndexOf(String str) 返回指定子字符串最后一次出现的字符串中的索引。
例如:
int inde=str1.lastIndexOf("l");
System.out.println("inde=="+inde);
int length() 返回此字符串的长度。
boolean matches(String regex) 告诉这个字符串是否匹配给定的 regular expression 。
String replace(CharSequence target, CharSequence replacement)将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。
例如:
String str2=str1.replace("ll", "AA");
System.out.println("str2=="+str2);
String[] split(String regex)将此字符串分割为给定的 regular expression的匹配。
例如:
String var[]=str1.split(",");
for(String v:var){
System.out.println("v=="+v);
}
String substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串。
String substring(int beginIndex, int endIndex) 返回一个字符串,该字符串是此字符串的子字符串。
例如:
String path="E:/20180903/java/20181024java(19)/String.docx";
String fileName= path.substring(path.lastIndexOf("/")+1);
System.out.println("fileName=="+fileName);
String trim() 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
上面的这一组常用的方法都是实例方法,使用的时候需要String对象的。
4.String中的类方法【主要是进行基本数据类型与String之间的转换用的】
static String | valueOf(boolean b) 返回 boolean参数的字符串 boolean形式。 |
static String | valueOf(char c) 返回 char参数的字符串 char形式。 |
static String | valueOf(double d) 返回 double参数的字符串 double形式。 |
static String | valueOf(float f) 返回 float参数的字符串 float形式。 |
static String | valueOf(int i) 返回 int参数的字符串 int形式。 |
static String | valueOf(long l) 返回 long参数的字符串 long形式。 |
5.基本类型的数据转换成String ------- 通过String类的valueOf
例如:
int a=100; //int
String num=String.valueOf(a); //num--String
System.out.println("num=="+num+100);
6.String转换成基本类型的数据 --- 基本类型的封装类 【 static parseXXXX(String s)】
1.只有基本类型才有自己对应的封装类
2.封装类---其实就是基本类型对应的复合数据类型【java类】
基本类型 封装类
byte 0 ------ Byte null
Short 0 ----- Short null
int 0 ----- Integer null
long 0 ---- Long null
float 0.0 ---- Float null
double 0.0 ----- Double null
char ‘’ ----- Character null
boolean false ------ Boolean null
3.基本类型与它对应放入封装类类型的转换
3.1基本类型- ----》封装类类型 【构造方法】
自动装箱---基本数据类型转换成对应的封装类型
例如:
int num1=100;
//int-----》Integer [构造方法]
//自动装箱---基本数据类型转换成对应的封装类型
Integer in= new Integer(num1);
3.2 封装类类型---基本类型 【直接赋值】
自动拆箱---封装类型转换成对应的基本数据类型
例如:
Double dou=new Double(12.5);
//自动拆箱---封装类型转换成对应的基本数据类型
double d=dou;
String转换成基本类型的数据 --- 基本类型的封装类 【 static parseXXXX(String s)】
例如:
String str12="true";
boolean boo=Boolean.parseBoolean(str12);
if(boo){
System.out.println("转换成功");
}
字节数组与String之间的相互转换
1. 字节数组-----String 【String的构造方法】
2.String------字节数组 【getBytes()】
字符数组与String之间的相互转换
1. 字符数组-----String 【String的构造方法】
2 String------字符数组 【toCharArray()】