---------------------- android培训 、java培训、期待与您交流!----------------------
一、String类
String类为final修饰,字符串最大的特点:一旦被初始化就不可被改变。
String s1=“abc”;(s1是一个类类型变量,“abc”是一个对象)
String s2= new String(“abc”);
这里s1与s2的区别是:s1在内存中有一个对象(“abc”),s2在内存中有两个对象(new;“abc”)。
String类用于描述字符串事物,它提供了对字符串操作的多种方法,常见方法有:
获取:
1,获取字符串长度:length();
2,根据位置获取字符:charAt(int index);
3,根据字符获取位置:indexOf(String str);返回的是str在字符串中第一次出现的位置;int indexOf(String str,int fromIndex);从fromIndex位置开始获取str第一次出现的位置;注:此处String str可以为char,int等。具体看需求而定。
4,反向索引一个字符在字符串中出现的位置:int lastIndexOf(int ch);
判断:
1,字符是否包含某一子串:boolean contains(str);特殊方法:int indexOf(str);可以判断是否包含并返回在字符串中位置,如果不包含则返回值为-1。
2,字符串是否有内容:boolean isEmpty();即判断字符串长度是否为0。
3,字符串是否以指定的内容开头:boolean startWith(str);
4,字符串是否以指定的内容结尾:boolean endsWith(str);
5,判断对象是否与指定内容相同(此方法复写了Object父类中的equals方法):boolean equals(str);
6,判断对象是否与指定内容相同,忽略大小写:boolean equalsIgnoreCase();
转换:
1,将字符数组转换成字符串:
构造函数:
String(char[]);
String(char[],offset,count);将字符数组的一部分转换成字符串。从offest位置开始向后count个数截止。
静态函数:
static String copyValueOf(char[]);
static String copyValueOf(char[],offset,count);
static String valueOf(char[]);
2,将字符串转换成字符数组:
char[] toCharArray();
3,将字节数组转成字符串:
String(byte[]);
String(byte[],offset,count);
4,将字符串转换成字节数组:
byte[] getBytes();
5,将基本数据类型转换成字符串:
static String valueOf(int);
static String valueOf(double);
static String valueOf(char);
特殊情况:字符串和字节数组在转换过程中可以指定编码表。
替换:
String replace(oldchar,newchar);
String replace(oldstr,newstr);
如果要替换的字符不存在,返回的是原串。
切割:
String[] split(regex);以regex分割原来的字符串,返回多个字符串,即字符串类型数组。
子串:
String subString(begin,end);
注:subString(2);这样写是从2位置开始到最后,如果不存在该角标,会发生字符串角标越界异常。subString(2,4);从2角标到3角标截取子串。
转换:
1,将字符串转换成大写或小写:
String toUpperCase();
String toLowerCase();
2,去除字符串两段空格:
String trim();
3,对两个字符串进行自然顺序比较:
int compareTo(String);返回参数字符串减去调用者的ASCII码差的值,正负号表示大小。
二、StringBuffer(final)
StringBuffer是一个容器,字符串缓冲区,缓冲区特点:1,长度可变;2,可直接操作多个类型;3,最终通过toString方法变成字符串。
1,存储:
append();将制定数据作为参数添加到以后数据的结尾处。
insert(index,A);将A插入到指定index位置;
2,删除:
delete(start,end);删除缓冲区数据,从start开始到end前一个位置。
deleteCharAt(index);删除指定位置的字符;
注:x.delete(0,x.length());清空缓冲区。
3,获取:
char charIndex(int index);获取index位置字符。
int indexOf(String str);获取子串第一次出现位置。
int lastIndexOf(String str);反向获取子串第一次出现位置位置。
int length();获取长度。
String subSting(int start,int end);获取子串,注意:访问的不是StringBuffer,而是String。
4,修改:
void setCharAt(int index,char ch);
StringBuffer replace(start,end,String);
5,反转:
StringBuffer reverse();
6,将缓冲区中字符串存入指定数组:
void getChars(int srcBegin,int srcEnds,char[] dst,int dstBegin);
StingBuilder(JDK1.5以后版本)
方法同StringBuffer一致,区别为:StringBuffer是线程同步的,而StringBuilder是线程不同步的,但是高效。开发建议使用StringBuilder。
三、基本数据类型包装类
byte——Byte、short——Short、long——Long、boolean——Boolean、float——Float、double——Double、
int——Integer、char——Charactor。
基本数据类型对象包装类的常见作用:用于基本数据类型与字符串之间做转换。
基本数据类型转成字符串:
1,基本数据类型+“”;
2,基本数据类型.toString(基本数据类型值);
如:Integer.toString(56);
字符串转成基本数据类型:
形式一:xxx=Xxx.parseXxx(String);如:int a = Integer.parseInt("123");返回n为123;其他类型同理。
形式二:对象调用方式,x.intValue();该方法返回int型,为静态方法。
十进制转其他进制:
Integer.toBinaryString();二进制。
Integer.toHexString();十六进制。
Integer.toOctalString()八进制。
其他进制数转成十进制:
Integer.parseInt(String s,int radix);s为需要进行转换的数,radix为进制数。如:Integer.parseInt("3c",16);返回60。
基本数据类型包装类JDK1.5新特性:
例:
原来:Integer x = new Integer(4);
现在:Integer x= 4;自动装箱,并且可以进行运算x=x+2;x对象拆箱,预算后在装箱。
注意:
Integer m=127;Integer n=127;m==n;返回为true;
Integer a=128;Integer b=128;a==b;返回为false;
出现这个现象是因为m,n指向了同一个对象,当数值在byte范围内,对于新特性,如果该数值已经存在,不会开辟新的空间,所以m,n指向相同。
四、其他类
System类:不能被实例化,方法和属性都是静态,描述系统的一些信息。
获取系统属性信息:Properties getProperties();它是Hashtable的子类,集合Map中的一员,所以可以通过Map集合的方法进行操作,如取出集合中的元素。
Properties prop = System.getProperties();
Runtime类:该类中并没有提供构造函数,说明不可以创建对象,那么会想到该类中的方法都是静态,但该类中有非静态方法,说明该类提供了方法获取本类对象,而且该方法为静态,返回值类型为本类类型,这个特点体现了单例设计模式。
该方法为:static Runtime getRuntime();
Date类:大部分方法已经过时,仅有两个方法可以使用。
Calendar类:将Date类中过时的方法重新定义,提供了一些新的方法和更多的方法如set();add();
Math类:数学类,提供了很多与数学相关的方法。
几个重要方法:
abs():返回绝对值。
ceil();返回double型的,大于等于传入的double型数据的最小整数值(double型)。
floor();返回double型的,小于等于传入的double型数据的最小整数值(double型)。
round();四舍五入,返回int/long型。
pow(x,y);返回x的y次方根。
ramdam();获取大于等于0,小于1的随机数(伪)。double型。
Ramdam类(存在于util包)与ramdam()方法类似,可以返回随机数,但更加方便,可以返回整型等。
---------------------- android培训 、java培训、期待与您交流!----------------------
黑马日记第六篇——java常用API
最新推荐文章于 2024-08-16 23:08:28 发布