标签:
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一.Object类:
1.所有引用数据类型的超类(数组、类库中的类、我们自定义的类)
2.我们的类继承了Object后,就拥有了从Object继承的方法:
class Object{
public int hashCode(){
//功能:返回一个int值,作为哈希表的键值;
//默认实现:根据对象的"地址"生成的一个int值。不同的对象,会返回不同的值;
//后期,我们子类会重写的。
}
public final Class getClass(){
//功能:获取此类的Class对象
//默认实现:获取Class对象
//最终方法,不能被子类重写
}
public String toString(){
//功能:返回此对象的字符串表示形式;
//默认实现:类名 + @ + 十六进制的地址(我们没用)
//重写:将内部所有成员的属性值,连成一个字符串返回即可;
}
public boolean equals(Object obj){
//功能:与参数对象比较是否相等;
//默认实现:跟参数比较"地址"是否相等;如果相等则返回true。(我们没用)
//重写:将我们对象的所有的属性值与参数的相应属性值进行比较,如果"全部相等"返回true,否则返回false;
}
protected void finalize(){
//功能:当垃圾回收器回收此对象前,会先调用此方法,之后,变删除此对象空间;一般是释放内存资源;
//默认实现:无(空方法)
//根据需要可重写
}
protected Object clone(){
//功能:复制此对象的副本
//默认实现:本地方法实现
//根据需要重写;注意:需要被赋值的类,一定要实现Cloneable接口
}
}
二.String类:
1.代表一个字符串对象;
2.一个字符串对象的"值"是不能改变的;但引用可以改变;
3.特点:可以直接赋值一个"字面量";
4.典型的面试题:
String s1 = "abc";
String s2 = "abc"
String s3 = new String("abc");
System.out.println(s1 == s2);//true
System.out.println(s1 == s3);//false
-----------------------------------------------------------
String s1 = "Hello";
String s2 = "World";
String s3 = "HelloWorld";
String s4 = "Hello" + "World";
String s5 = s1 + "World";
String s6 = "Hello" + s2;
String s7 = s1 + s2;
System.out.println(s3 == s4);//true
System.out.println(s3 == s5);//false
System.out.println(s3 == s6);//false
System.out.println(s3 == s7);//false
5.构造方法:
public String():实例化一个空字符串;效果相当于:String s = "";
public String(byte[] bytes):使用一个byte[]数组构造一个字符串。(将一个byte[]数组转换为一个String)
public String(byte[] bytes,int offset,int length):将一个byte[]数组的一部分转换为一个String
public String(char[] value):将一个char[]数组转换为一个String;
public String(char[] value,int offset,int count):将一个char[]数组的一部分转换为一个String
public String(String original):使用一个String构造一个新的String
6.常用方法:
1).判断功能:
boolean equals(Object obj):重写Object的。区分大小写的比较
boolean equalsIgnoreCase(String str):不区分大小写的比较
boolean contains(String str):判断str是否包含在本字符串中;
boolean startsWith(String str):是否以str开头
boolean endsWith(String str):是否以str结尾
boolean isEmpty():是否是空字符串;
2).获取功能:
int length():区分数组的length属性.获取内部字符序列的长度;
char charAt(int index):返回index位置的字符;
int indexOf(int ch):返回字符ch在字符串中的索引值,如果不包含,返回-1;
int indexOf(String str):返回字符串str在字符串中出现的索引.如果不包含,返回-1;
int indexOf(int ch,int fromIndex):查找一个字符ch,从fromIndex开始;
int indexOf(String str,int fromIndex):查找一个字符串str,从fromIndex开始;
int lastIndexOf(int ch):从后向前查;从右向左查,但返回的索引,是从左向右的,从0开始;
String substring(int start):截取冲start开始到结尾的字符串。生成一个新字符串,原字符串不变;
String substring(int start,int end):从start开始,截取到end - 1处(不包含end)
3).转换功能:
byte[] getBytes():将字符串转换为byte[]数组;
char[] toCharArray():将此字符串转换为char[]数组;
static String valueOf(char[] chs):静态方法。将一个char[]数组转换为一个String
static String valueOf(int i):静态方法。将一个int值转换为字符串;
String toLowerCase():将字符串中的字符转换为小写;
String toUpperCase():转换为大写;
String concat(String str):将参数字符串连接到当前字符串的末尾。效果跟"+"运算符一样;
4).其它功能:
1.替换功能
String replace(char old,char new):将字符串中的字符,使用new字符,替换原old字符.生成新字符串,原串不变;
String replace(String old,String new):使用new字符串,替换原old字符串;
2.去除字符串两空格
String trim():不包含中的空格;
3.按字典顺序比较两个字符串
int compareTo(String str)
int compareToIgnoreCase(String str)
三.Scanner类:
1.boolean hasNextXxx():
2.nextXxx();
四.StringBuffer类:
1.String的缓冲池类。
2.String和StringBuffer的区别:
1).String:其“值”不可变;
2).StringBuffer:其“值”可变;
当我们多次进行字符串的拼接等操作时,使用String会产生大量的垃圾空间。建议使用此类;
2.构造方法:
public StringBuffer():初始容量16
public StringBuffer(int capacity):初始容量capacity
public StringBuffer(String str):使用String构造一个StringBuffer。
3.添加功能:
public StringBuffer append(String str):及各种重载的方法。将任何类型的参数添加到末尾;
public StringBuffer insert(int offset,String str):将一个String插入到offset位置。原位置上的字符依次后移;
4.删除功能:
public StringBuffer deleteCharAt(int index):删除index位置上的字符
public StringBuffer delete(int start,int end):删除start到end - 1处的所有字符;
5.替换功能:
public StringBuffer replace(int start,int end,String str):将start到end处的所有字符替换为str;
6.反转功能:
public StringBuffer reverse():反转内部字符串;
7.截取功能:
public String substring(int start):截取从start到结尾,返回一个新字符串;
public String substring(int start,int end):截取从start到end -1处的所有字符;
StringBuffer类和StringBuilder类的区别:
1.StringBuffer是线程安全的;效率低;
2.StringBuilder是线程不安全的;效率高;
五.Arrays类:
1.对数组操作的类,没有构造方法,内部包含了大量静态的工具方法;
2.常用方法:
1).public static String toString(int[] a):将int[]数组转换为String的表示形式;
2).public static void sort(int[] a):升序排序int[]数组;
3).public static int binarySearch(int[] a,int key):二分查找int[]数组中的key值;
六.包装类:
基本数据类型 包装类型
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean
七、Integer类:
1.内部可以包含一个int值。还包含了其它一些对int值操作的方法;
2.构造方法:
1).Integer(int value):将一个int值转换为Integer;
2).Integer(String s):将一个String转换为Integer;
3.int和String的相互转换:
1).String --> int:
A.Integer-->int parseInt(String s) --> int
B.Integer-->Integer valueOf(String s) --> intValue() --> int
2).int --> String:
A.String --> String valueOf(int n) --> String
B.Integer -->String toString(int t) --> String
4.常用方法:
public int intValue():返回Integer内部的int值
public static int parseInt(String s):将String转换为int
public static String toString(int i):将int转换为String
public static Integer valueOf(int i):将int转换为Integer
public static Integer valueOf(String s):将String转换为Integer
基本进制转换:
public static String toBinaryString(int i):int--> 二进制 -->String
public static String toOctalString(int i):int --> 八进制 --> String
public static String toHexString(int i):int --> 十六进制 --> String
十进制到其它进制:
public static String toString(int i,int radix):将某进制的i值,转换为String表示形式。radix为:进制数
其它进制到十进制:
public static int parseInt(String s,int radix):将某进制的字符串表现形式s,转换为十进制int值。radix为进制数;
5.JDK5的自动装箱和拆卸:
1.自动装箱:将"基本数据类型"转换为对应的"包装类型";
Integer intObj = 10;
2.自动拆箱:将"包装类型"转换为对应的"基本数据类型";
int n = intObj;
6.常见面试题:
Integer v1 = 127;
Integer v2 = 127;
System.out.println(v1 == v2);//true
Integer v3 = 128;
Integer v4 = 128;
System.out.println(v3 == v4);//false
Integer v5 = 127;
Integer v6 = new Integer(127);
System.out.println(v5 == v6);//false;
八.Character类:
1.char的包装类;
2.构造方法:
Character(char v):
3.常用方法:
public static boolean isUpperCase(char ch):判断是否是大写字符
public static boolean isLowerCase(char ch):判断是否是小写字符;
public static boolean isDigit(char ch):判断是否是数字
public static char toUpperCase(char ch):将字符ch转换为大写;
public static char toLowerCase(char ch):将字符ch转换为小写;
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
标签:
原文地址:http://www.cnblogs.com/Erric-Zhou1992/p/4761813.html