IP地址類型轉(zhuǎn)換原理:
將一個(gè)點(diǎn)分十進(jìn)制IP地址字符串轉(zhuǎn)換成32位數(shù)字表示的IP地址(網(wǎng)絡(luò)字節(jié)順序)拳魁。
將一個(gè)32位數(shù)字表示的IP地址轉(zhuǎn)換成點(diǎn)分十進(jìn)制IP地址字符串。
1.Long.ParseLong(String)方法,將 string 參數(shù)解析為有符號(hào)十進(jìn)制 long偏瓤,字符串中的字符必須都是十進(jìn)制數(shù)字建丧。
[java] view plaincopy
parseLong(String s)?
? |-->return parseLong(s, 10);? //返回一個(gè)long開(kāi)的result基本類型值?
2.Long.ValueOf(String) ,參數(shù)String表示,指定 String 的值的 Long 對(duì)象阀坏。該參數(shù)被解釋為表示一個(gè)有符號(hào)的十進(jìn)制 long如暖,該值與用該參數(shù)作為參數(shù)的 parseLong(java.lang.String) 方法得到的值非常相似。只是最后被轉(zhuǎn)換為一個(gè)Long的包裝類忌堂。
[java] view plaincopy
public static Long valueOf(String s) throws NumberFormatException?
? {?
? ? return Long.valueOf(parseLong(s, 10));?
? ? ? |-->return Long.valueOf(parseLong(s, radix));?
? ? ? ? ? |-->final int offset = 128;?
if (l >= -128 && l <= 127) { // will cache?
? ? return LongCache.cache[(int)l + offset];?
}?
? ? ? return new Long(l);?
? }?
? }?
3.long a = new Long(String) 實(shí)質(zhì)為構(gòu)造實(shí)例時(shí)装处,在toString中調(diào)用了String.valueOf獲得
[java] view plaincopy
public Long(String s) throws NumberFormatException {?
this.value = parseLong(s, 10);?
? }?
4.Long.decode(String) 方法,特點(diǎn)是將 String 解碼成 Long。接受通過(guò)以下語(yǔ)法給出的十進(jìn)制妄迁、十六進(jìn)制和八進(jìn)制數(shù):比如ox11寝蹈,轉(zhuǎn)換為17
5.Java包裝類型的裝箱拆箱機(jī)制
JAVA基本類型,不用new來(lái)創(chuàng)建變量登淘,而是創(chuàng)建一個(gè)并非是“引用”的“自動(dòng)”變量箫老。這個(gè)變量擁有它的“值”,并置于堆棧中黔州,因此更加高效耍鬓。
Java中的某些操作只能使用對(duì)象,而基本類型不是類類型流妻,不能實(shí)例化成對(duì)象牲蜀,比如Collection,就必須以對(duì)象實(shí)現(xiàn)绅这。
? ? ? ? 所謂的裝箱指的是基本類型轉(zhuǎn)換為包裝類型涣达,拆箱指的是包裝類型轉(zhuǎn)換為基本類型。