Object類、 常APIjava
Object類sql
[Java]純文本查看__複製代碼數組
?this
1code
java.lang.Object類: 根類, 全部類的父類
orm
Object類是跟類,也是全部類的父類。對象
Object類的特色:
是全部類的父類, 任何一個類都直接或間接地繼承自Object類, 並能夠使用Object類中定義的方法
一個類若是沒有指定繼承某個父類, 則默認繼承Object類 繼承
成員方法索引
[Java]純文本查看__複製代碼ip
1
String toString():
返回該對象的字符串表示。
[Java]純文本查看__複製代碼
1
boolean
equals(Object obj)
指示其餘某個對象是否與此對象"相等"。
[Java]純文本查看__複製代碼
1
2
3
4
5
6
7
8
9
// Object類中toString()的實現方式:做用:
任何類的對象均可調用toString(), 獲得一個對象的字符串表示形式, 默認使用Object類中定義的方式
若是不想使用默認方式, 子類能夠重寫toString()方法, 轉換爲本身想要的內容
通常咱們都要輸出JavaBean的屬性名和屬性值, Alt + Insert 選擇 toString() 便可重寫
public
class
Object {
public
String toString() {
return
getClass().getName() +
"@"
+ Integer.toHexString(hashCode());
}
}
代碼解釋:
[AppleScript]純文本查看__複製代碼
1
2
3
4
5
6
7
8
getClass
`()
.getName(
)`:
getClass
`()
:
Object類的方法`,
獲取當前對象的類的字節碼對象
getClass
`()
.getName(
)`:
經過字節碼對象獲取該類的全名
Integer.toHexString
`(hashCode
()
)`
hashCode
`()
:
Object類的方法`,
獲取當前對象地址值的哈希值
Integer.toHexString
`(int n
)`:
將參數轉換爲十六進制數字的字符串
最終
`:`
itheima
`01Object.Person@
75412c
2`f
Object類之equals方法
[Java]純文本查看__複製代碼
1
public
boolean
equals(Object obj)
指示其餘某個對象是否與此對象"相等"
重寫equals()的做用:
不重寫時, 自定義對象默認繼承Object類的equals()方法, 經過 == 比較地址值
但開發時, 通常要重寫equals()方法, 讓對象根據屬性值來判斷是否相等
[Java]純文本查看__複製代碼
1
2
3
4
5
6
// Object類中equals()的實現方式:
public
class
Object {
public
boolean
equals(Object obj) {
return
(
`this
== obj);
// 引用數據類型, ==比較對象的地址值是否相同`
}
}
日期時間相關的類
先說下三者之間的關係轉換以下:
[AppleScript]純文本查看__複製代碼
1
2
3
4
5
long
\ SimpleDateFormat
Date
--------------------------------------------- String
/
Calenda
注意: 不要導錯包! 有2個包中都有Date類, 一個是java.sql.Date, 另外一個是java.util.Date
咱們用的是 java.util.Date
[AppleScript]純文本查看__複製代碼
1
2
3
4
java.util.Date類
`:
日期,` `表示特定的瞬間
,
精確到`"毫秒"
/
`/
構造方法`
Date
`()
:
建立Date對象`,
表示當前系統時間
Date
`(long` `date
):` `建立Date對象
,
使用指定的毫秒值做爲時間`
// 經常使用成員方法
[AppleScript]純文本查看__複製代碼
1
2
3
long getTime
`()
:
獲取Date對象中保存的時間毫秒值`
void setTime
`(long time
)`:
修改Date對象的時間
UNIX時間戳
`:
從0
時區
1970-01
-01
00:
00:
00
開始,` `至今通過的毫秒值
(`1
秒
=
1000
毫秒)
java.text.DateFormat抽象類: 用於格式化和解析時間. 提供了方便的方法
// 經常使用成員方法 (抽象類不能建立對象, 但能夠有非抽象的方法供子類使用)
[AppleScript]純文本查看__複製代碼
1
2
3
String format
`(Date` `date
):` `格式化
,
從Date對象轉換爲String對象`
Date parse
`(String source
):` `解析
,
從String對象轉換爲Date對象`
java.
`text`.SimpleDateFormat類
// 構造方法
[AppleScript]純文本查看__複製代碼
1
SimpleDateFormat
`(String pattern
)`:
用給定的模式和默認語言環境的日期格式符號建立對象
// 經常使用模式: 可在SimpleDateFormat類中查看
[AppleScript]純文本查看__複製代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
y
`:
年`
M
`:
月`
d
`:
日`
H
`:
時
(24
小時制`)
m
`:
分`
s
`:
秒`
E
`:
星期`
D
`:
年中的天`
K
`:
小時(
12小時制
)`
S
`:
毫秒`
示例
`:
"yyyy-MM-dd E HH:mm:ss.SSS"`
結果
`:
2016-04
-01
星期五
17:
29:
15.8`68
若是要匹配普通的英文字母
`,
則須要用單引號括起來`:
"'abc'"
若是要匹配單引號
`,
則使用2
個單引號`:
"''"
// 使用指定的模式建立對象
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
[Java]純文本查看__複製代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
public
class
Test {
public
static
void
main(String[] args)
throws
ParseException {
// 已知日期字符串"2000-10-01"
String s =
"2000-10-01"
`;`
// 將該日期字符串解析爲日期對象
SimpleDateFormat sdf =
new
SimpleDateFormat(
`"yyyy-MM-dd"`);
Date date = sdf.parse(s);
// 紅線按 Alt + Enter , 選擇第一項 Add exception to method
signature
// 將date轉換爲long
long
time = date.getTime();
System.out.println(time);
// 970329600000
}
}
Calendar類的經常使用功能
java.util.Calendar抽象類: 表明日曆, 提供了不一樣國家的歷法, 封裝了不少時間屬性
// 靜態成員變量
[AppleScript]純文本查看__複製代碼
1
2
3
4
5
6
7
static int YEAR
:
`年份`
static int MONTH
:
`月份. 注意月份數值是
0`-11
static int DAY_OF_MONTH
:
`日期`
static int HOUR
:
`小時(
12小時制
)`
static int HOUR_OF_DAY
:
`小時(
24小時制
)`
static int MINITE
:
`分鐘`
static int SECOND
:
`秒`
// 非靜態成員方法
[AppleScript]純文本查看__複製代碼
1
2
3
4
5
int
get
`(int field
):` `獲取指定日曆字段的值 int year` `=` `cal.
get(
Calendar.YEAR`)
void
set
`(int field
,
int
value)
:
修改指定日曆字段爲指定的值`
void
add
`(int field
,
int amount)
:
調整指定日曆字段的值. 正數增長`,
負數減小
Date getTime
`()
:
Calendar轉Date`
void setTime
`(Date d
)`:
Date轉Calendar
[Java]純文本查看__複製代碼
01
02
03
04
05
06
07
08
09
10
11
/ 示例
// 獲取日期:
int
day = calendar.get(Calendar.DAY_OF_MONTH);
// 修改年:
calendar.set(Calendar.YEAR,
2000
`);`
// 修改月:
calendar.set(Calendar.MONTH,
0
`);`
// 日期增長一天:
calendar.add(Calendar.DAY_OF_MONTHY,
1
`);`
// 日期減小一天:
calendar.add(Calendar.DAY_OF_MONTHY, -
`1`);
long和Date對象互轉
[AppleScript]純文本查看__複製代碼
01
02
03
04
05
06
07
08
09
10
11
利用Date
Date
`(long millis
)`:
long轉Date
long getTime
`()
:
Date轉long`
String和Date對象互轉
利用SimpleDateFormat
Date parse
`(String s
)`:
String轉Date
String format
`(Date
)`:
Date轉String
Calendar對象和Date對象互轉
利用Calendar
Date getTime
`()
:
Calendar轉Date`
void setTime
`(Date d
)`:
Date轉Calendar
System類之數組複製方法
[AppleScript]純文本查看__複製代碼
1
java.lang.System類
`:
系統相關功能`
// 靜態方法
[AppleScript]純文本查看__複製代碼
1
2
3
4
5
6
7
static void arrayCopy
`(Object src
,
int srcPos,` `Object dest
,
int destPos,` `int length
)`:
複製源數
組中指定長度個元素到一個新數組中
*
Object src
`:
源數組
(被複制的數組
)`
*
int srcPos
`:
源數組索引
(從源數組的哪一個索引開始複製
)`
*
Object dest
`:
目標數組
(要複製到哪一個數組
)`
*
int destPos
`:
目標數組索引
(指定目標數組接收元素的索引位置
)`
*
int length
`:
長度
(要複製的元素個數
)`