Object
Object类是
所有类的超类
。
Object是Java语言中唯一一个没有父类的类。
在Object类中定义的方法,在所有类中都可以使用。
boolean equals(Object obj)
比较两个对象引用的值是否相等(比较的是地址)。
int hashCode()
将内存地址转换成哈希值,再转换成十进制数值。
String toString()
返回有意义的文本,如果没有重写,返回的是:完整的类名 + @ +内存地址的十六进制数值
equals()方法与 “==” 的区别
equals():
- 默认情况下(即没有被重写时)equals()只能比较引用类型,即比较的是地址。
- equals()方法从Object类继承,即比较对象引用的值
- 一般都被子类方法覆盖,不再比较引用的值
" == "运算符:
- 比较基本数据类型:相当于算术等号
- 比较引用数据类型:比较引用的值,不能被覆盖。(比较的是地址)
规定:
equals()返回的两个对象是相等的,那么这两个对象调用 hashCode()返回的整数必须相等
反过来,两个对象调用 hashCode() 返回的整数相等,equals() 返回的值是不一定相等的
包装类
整数类型:
- 最大值:包装类类名+ . +MAX_VALUE
- 最小值:包装类类名+ . +MIN_VALUE
Character包装类:
- 判断字符ch是否为数字 :static boolean isDigit(char ch)
- 判断字符ch是否为字母 :static boolean isLetter(char ch)
- 判断字符ch是否为小写字母 :static boolean isLowerCase(char ch)
- 判断字符ch是否为Unicode中的空格:static boolean isSpaceChar(char ch)
字符串与基本数据类型、包装类型转换图
字符串类
两种表现形式:
- String
- StringBuffer
字符串不属于8种基本的数据类型,而是一种引用类型。
String类是final类,内容一旦被初始化就不能再改变
StringBuffer对象代表一组课改变的Unicode字符序列
String的创建:
- 静态(常用),例如:String s=“123”,内容存储再常量池中。
- 动态(不建议用),例如:String s=new String(“123”),内容存放在堆区中。
连接操作符
连接操作符“+”,可以将其它各种类型的数据转换成字符串,并前后连接成新的字符串。
String类
- 任何一个String对象在创建之后都不能对它的内容作出任何改变(immutable)
- 连接、获得子串和改变大小写等操作,如果返回值同原字符串不同,实际上是产生了一个新的String对象
- 在程序的任何地方,相同的字符串字面常量都是同一个对象
- String类重置了equals方法,用于比较两个字符串的内容
字符串和字符数组的转换
常用方法:
方法 | 含义 |
boolean equals(String)
|
判断两个字符串对象的内容是否相等
|
String toUpperCase( )
|
将
String
对象中的所有字符都转换为大写
|
String toLowerCase( )
|
将
String
对象中的所有字符都转换为小写
|
char charAt(int)
|
返回指定索引处的
char
值
|
String substring(int begin)
|
返回一个新字符串,该字符串是从
begin
开始的字符串的内容
|
String substring(int begin,int end)
|
返回一个新字符串,该字符串是从
begin
开始到end-1结束的字符串的内容
|
int indexOf/lastIndexOf(char,int)
|
从指定的索引开始搜索,返回在此字符串中
第一次
/
最后一次出现指定字符处的索引
|
int indexOf/lastIndexOf(String,int)
|
从指定的索引开始搜索,返回在此字符串中
第一次
/
最后一次出现指定字符串处的索引
|
int length( )
|
返回此字符串的长度
|
byte[] getBytes()
|
使用平台的默认字符集将此
String
编码为
byte序列,并将结果存储到一个新的 byte
数组中
|
String replace(char oldChar,
char newChar)
|
返回一个新的字符串,它是通过用
newChar
替换此字符串中出现的所有 oldChar
得到的
|
boolean startsWith(String prefix)
|
测试此字符串是否以指定的前缀开始
|
boolean endsWith(String suffix)
|
测试此字符串是否以指定的后缀结束
|
StringBuffer类
方法 | 含义 |
int capacity( )
|
返回当前容量
|
int length( )
|
返回长度(字符数)
|
StringBuffer reverse( )
|
将此字符序列用其反转形式取代
|
void setCharAt(int,char)
|
将给定索引处的字符设置为
ch
|
StringBuffer delete(int begin,int end)
|
移除此序列的子字符串中的字符
|
char charAt(int)
|
返回此序列中指定索引处的
char
值
|
String toString( )
|
将
StringBuffer
对象转换成相应的
String
|
StringBuffer append(String str)
|
将指定的字符串追加到此字符序列
|
StringBuffer append(int num)
|
将
int
参数的字符串表示形式追加到此序列
|
StringBuffer append(Object o)
|
追加
Object
参数的字符串表示形式
|
StringBuffer insert(int index,String str)
|
将字符串插入此字符序列中
|
StringBuffer insert(int index,char ch)
|
将字符插入此字符序列中
|
StringBuffer insert(int index,Object o)
|
将
Object
参数的字符串表示形式插入此字
符序列中
|
StringBuffer优势 :StrigBuffer节省内存开销
String类与StringBuilder类的比较
String
类与
StringBuffer
类都被放到了
java.lang
包中
两者的主要区别在于
- String类对象中的内容初始化不可以改变
- StringBuffer类对象中的内容可以改变
Math类
Math类中的常量
- public static final double PI
- public static final double E
常用方法
方法 | 含义 |
static int abs(int)
|
返回参数的绝对值,返回值类型与参数类型相同
|
static double abs(double)
|
返回参数的绝对值
|
static double ceil(double)
|
返回大于所给参数的最小的整数值
|
static double floor(double)
|
返回不大于所给参数的最大的整数值
|
static int max(int a,int b)
|
返回两个
int
值中较大的一个
|
static double max(double,double)
|
返回两个
double
值中较大的一个
|
static int min(int a,int b)
|
返回两个
int
值中较小的一个
|
static double min(double,double)
|
返回两个
double
值中较小的一个
|
static double random( )
|
返回在
0.0~1.0
之间的随机的
double
值
|
static int round(double)
|
返回同所给值最接近的整数,采用
4
舍
5
入 法
|
static double sin/cos/tan(double)
|
返回给定的弧度值对应的三角函数值
|
static double sqrt(double)
|
返回所给值的平方根,若所给值为负数则
返回
NaN
|
日期类
Date类
- java.util.Date。
- Date 类表示指定的时间信息,可以精确到毫秒。
- 不支持国际化。
- 该类的许多方法已过时。
- 获取当前系统时间:new Date();
常用方法
Calendar类 (日历类)
- java.util.Calendar。
- java.util.GregorianCalendar
- 常用的日期处理的对象。可以设置自己的时区和国际化格式。
- 是一个抽象类。
- Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则 。
- 获取Calendar对象的实例:Calendar c = Calendar.getInstance();
-
设置Calendar实例所表示的时间:c.set(2011,6,16);
-
获取指定的时间属性 : c.get(Calendar. YEAR );常用方法
SimpleDateFormat类
- java.text.SimpleDateFormat
- 一个以与语言环境相关的方式来格式化和分析日期的具体类。是抽象类
- java.text.DateFormat类的子类。
- SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。
- 获取SimpleDateFormat的实例:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
将日期格式成指定的字符串:sdf.format(new Date());
-
将格式化的字符串转换成日期对象:sdf.parse(“2011-07-16”);