黑马程序员_部分基础类的了解

来源:互联网 发布:beats微先专卖店 知乎 编辑:程序博客网 时间:2024/05/17 00:55

 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一、String类 
1)、定义 
String类是对字符串事物的描述。该类定义了专门用于操作字符串的方法。 
字符串是一个特殊的对象。 
字符串一旦初始化就不可以被改变。

String str = “abc”; 
String str1 = new String(“abc”); 
有什么区别 ? 
s1是一个类类型变量, “abc”是一个对象。 
s1在内存中有一个对象。 
s2在内存中创建了两个对象一个是默认对象一个是字符串对象。

System.out.println(s1==s2); //false ==比较的是地址 
System.out.println(s1.equals(s2));// true equals比较的是内容 
String类复写了Object类中equals方法,该方法用于判断字符串是否相同。

2)、常见的操作有哪些?

String类适用于描述字符串事物。那么它就提供了多个方法对字符串进行操作。

1,获取。 
1.1 字符串中的包含的字符数,也就是字符串的长度。 
int length():获取长度。 
1.2 根据位置获取位置上某个字符。 
char charAt(int index): 
1.3 根据字符获取该字符在字符串中位置。 
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在字符串中出现的位置。 
int lastIndexOf(int ch) :

2,判断。 
2.1 字符串中是否包含某一个子串。 
boolean contains(str): 
特殊之处: 
indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。 
所以,也可以用于对指定判断是否包含。 
if(str.indexOf(“aa”)!=-1)而且该方法即可以判断,有可以获取出现的位置。 
2.2 字符中是否有内容。 
boolean isEmpty(): 原理就是判断长度是否为0. 
2.3 字符串是否是以指定内容开头。 
boolean startsWith(str); 
2.4 字符串是否是以指定内容结尾。 
boolean endsWith(str); 
2.5 判断字符串内容是否相同。复写了Object类中的equals方法。 
boolean equals(str); 
2.6 判断内容是否相同,并忽略大小写。 
boolean equalsIgnoreCase();

3,转换。 
3.1 将字符数组转成字符串。 
构造函数:String(char[]) 
String(char[],offset,count):将字符数组中的一部分转成字符串。 
静态方法: 
static String copyValueOf(char[]); 
static String copyValueOf(char[] data, int offset, int count) 
static String valueOf(char[]): 
3.2 将字符串转成字符数组。** 
char[] toCharArray(): 
3.3 将字节数组转成字符串。 
String(byte[]) 
String(byte[],offset,count):将字节数组中的一部分转成字符串。 
3.4 将字符串转成字节数组。 
byte[] getBytes(): 
3.5 将基本数据类型转成字符串。 
static String valueOf(int) 
static String valueOf(double) 
//3+”“;//String.valueOf(3); 
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

4,替换 
String replace(oldchar,newchar);

5,切割 
String[] split(regex);

6,子串。获取字符串中的一部分。 
String substring(begin); 
String substring(begin,end);

7,转换,去除空格,比较。 
7.1 将字符串转成大写或则小写。 
String toUpperCase(); 
String toLowerCase(); 
7.2 将字符串两端的多个空格去除。 
String trim(); 
7.3 对两个字符串进行自然顺序的比较。 
int compareTo(string);


二、StringBuffer

StringBuffer是字符串缓冲区。是一个容器。 
特点: 
1,长度是可变化的。 
2,可以字节操作多个数据类型。 
3,最终会通过toString方法变成字符串。 
4 , StringBuffer可以对字符串内容进行增删。

2) StringBuffer特有方法 
1,存储。 
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。 
StringBuffer insert(index,数据):可以将数据插入到指定index位置。

2,删除。 
StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。 
StringBuffer deleteCharAt(index):删除指定位置的字符。

3,获取。 
char charAt(int index) 
int indexOf(String str) 
int lastIndexOf(String str) 
int length() 
String substring(int start, int end)

4,修改。 
StringBuffer replace(start,end,string); 
void setCharAt(int index, char ch) ;

5,反转。 
StringBuffer reverse();

6,将缓冲区中指定数据存储到指定字符数组中。 
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

7、JDK1.5 版本之后出现了StringBuilder. 
两者区别: 
StringBuffer是线程同步。 
StringBuilder是线程不同步。

三、基本数据类型对象包装类

1、定义: 
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

基本数据类型对象包装类。 
byte —— Byte 
short—— short 
int —— Integer 
long —— Long 
boolean —— Boolean 
float —— Float 
double —— Double 
char —— Character

2、常用的操作:

1)用于基本数据类型与字符串之间的转换: 
基本数据类型+”“;

基本数据类型.toString(基本数据类型值);

如: Integer.toString(34);//将34整数变成”34”;

2)字符串转成基本数据类型: 
xxx a = Xxx.parseXxx(String);

int a = Integer.parseInt(“123”);

double b = Double.parseDouble(“12.23”);

boolean b = Boolean.parseBoolean(“true”);

Integer i = new Integer(“123”);

int num = i.intValue();

3)十进制转成其他进制。 
toBinaryString(); 
toHexString(); 
toOctalString();

4)其他进制转成十进制。 
parseInt(string,radix);

5)JDK1.5以后,简化了定义方式。 
• Integer x = new Integer(4);可以直接写成 
• Integer x = 4;//自动装箱。 
• x = x + 5;//自动拆箱。通过intValue方法。

需要注意: 
• 在使用时,Integer x = null;上面的代码就会出 现NullPointerException。

0 0