多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > php教程 > 收集的java問(wèn)題和技巧

收集的java問(wèn)題和技巧

來(lái)源:程序員人生   發(fā)布時(shí)間:2016-11-17 09:42:11 閱讀次數(shù):2449次

下面的java編程的問(wèn)題和技能,部份是自己遇到的問(wèn)題和總結(jié),部份是自己在網(wǎng)上看到的成心思的問(wèn)題。本篇文章內(nèi)容

將會(huì)不斷的對(duì)自己搜集的問(wèn)題和技能進(jìn)行更新。


1).List遍歷進(jìn)程中刪除元素推薦做法


使用Iterator遍歷,但是不用list來(lái)remove。代碼以下:

List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(2); list.add(3); list.add(4); System.out.println("----------list大小1:--"+list.size()); Iterator<Integer> it = list.iterator(); while(it.hasNext()){ Integer item = it.next(); if (2 == item) { it.remove(); } System.out.println(item); } System.out.println("最后輸出=" + list.toString());

運(yùn)行結(jié)果:

----------list大小1:-⑸ 1 2 2 3 4 最后輸出=[1, 3, 4]


2.Java是“援用傳遞”還是“值傳遞”?


很多人認(rèn)為Java是援用傳遞;其實(shí)Java1直是值傳遞。很多人把指針叫做援用,這些援用也是通過(guò)值傳遞的。


3.遍歷HashMap中元素的最好方法是甚么?


我知道的遍歷方式有下面兩種:


方式1:


Iterator it = mp.entrySet().iterator(); while (it.hasNext()) { Map.Entry entity = (Map.Entry)it.next(); System.out.println(entity.getKey() + " = " + entity.getValue()); it.remove(); // 避免 ConcurrentModificationException } }


方式2:


for (String key : mp.keySet()) { System.out.println(mp.get(key)); }


經(jīng)過(guò)測(cè)試第1種方式比第2種方式效力高


4.1個(gè)關(guān)于Java += 操作符的問(wèn)題

i += j;很多人以為i = i + j是它的簡(jiǎn)寫,但事實(shí)不是。以下例子:


public class Test1 { public static void main(String[] args) { int i = 1; long j = 10; i+=j; i=i+j; } }


i=i+j這1行會(huì)提示Type mismatch: cannot convert from long to int(以下圖)說(shuō)明 i+=j不是i=i+j的簡(jiǎn)寫。


其實(shí)像E1 op= E2 型的復(fù)合賦值表達(dá)式等價(jià)于 E1 = (T)((E1) op (E2)),這里 T 是 E1 的類型,不同的是 E1 只計(jì)算1次,op是操作,

所以i+=j可以翻譯成i=(int) (i+j)。


 5.null屬于哪一種數(shù)據(jù)類型

在Java中,null本身不是對(duì)象,也不是Objcet的實(shí)例。那末他屬于哪一種數(shù)據(jù)類型呢?其實(shí)java有3種類型:基本類型、援用類和null類型。

null本身雖然能代表1個(gè)不肯定的對(duì)象。但就null本身來(lái)講,它不是對(duì)象,也不是java.lang.Object的實(shí)例。null是1種特殊的type,但是你不能聲

明1個(gè)變量為null類型,null type的唯1取值就是null。null只能賦給援用類型變量。


6.string不可以將null賦給基本類型變量


1).字符串池是方法區(qū)中的1部份特殊存儲(chǔ)。當(dāng)1個(gè)字符串被被創(chuàng)建的時(shí)候,首先會(huì)去這個(gè)字符串池中查找,如果找到,直接返回對(duì)該字符

串的援用。如果字符串可變的話, 當(dāng)兩個(gè)援用指向指向同1個(gè)字符串時(shí),對(duì)其中1個(gè)做修改就會(huì)影響另外1個(gè)。


2).緩存Hashcode


java中常常會(huì)用到字符串的哈希碼(hashcode)。例如,在HashMap中,字符串的不可變能保證其hashcode永久保持1致,這樣就能夠避

免1些沒(méi)必要要的麻煩。這也就意味著每次在使用1個(gè)字符串的hashcode的時(shí)候不用重新計(jì)算1次,這樣更加高效。


3).使其他類的使用更加便利:如果字符串可以被改變,那末將有可能違背Set的設(shè)計(jì)原則,由于有些場(chǎng)景如Set要求其中的元素不可以重復(fù)的;


4).安全性:String被廣泛的使用在其他Java類中充當(dāng)參數(shù)。比如網(wǎng)絡(luò)連接、打開(kāi)文件等操作。如果字符串可變,那末類似操作可能致使安全問(wèn)題;


5).不可變對(duì)象天生就是線程安全的:由于不可變對(duì)象不能被改變,所以他們可以自由地在多個(gè)線程之間同享。不需要任何同步處理。


String 被設(shè)計(jì)成不可變的主要目的是為了安全和高效。所以,使 String 是1個(gè)不可變類是1個(gè)很好的設(shè)計(jì)。



注:部份內(nèi)容參考于網(wǎng)上資料,更多內(nèi)容等待更新中.....

---------------------------------------------------------------------------版權(quán)聲明-----------------------------------------------------------------------------------------------


博客地址:http://blog.csdn.net/mr_smile2014



??

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产亚洲一区二区三区不卡 | 在线视频中文 | 一级特黄aa大片一又好看 | 亚洲日韩中文字幕天堂不卡 | 456免费视频 | 91久久综合九色综合欧美亚洲 | 亚洲日韩欧美一区二区在线 | 久久精品五月天 | 亚洲色图第十页 | 曰本人做爰大片免费观看一 | 最近中文字幕视频完整 | 亚洲视频中文 | 日本高清另类videohd | 欧美xxxx另类 | 黑人太大太粗受不了了 | 亚洲精品国产一区二区三区四区 | 久久亚洲不卡一区二区 | 国内一级一级毛片a免费 | ffee性xxⅹ另类老妇hd | 亚洲一区二区三区欧美 | 日本欧美久久久久免费播放网 | 午夜国产精品不卡在线观看 | 欧美乱大交黑人 | 亚洲欧美视频一级 | 亚洲人xxxx | 噜噜噜在线| 国产一国产一级毛片视频在线 | 亚洲国产精品久久卡一 | 高清完整视频在线播放 | 正在播放国产露脸做 | xxxxx免费| 国产成人女人视频在线观看 | 老司机午夜精品视频在线观看免费 | 国产精品a区 | 日本精品一区二区在线播放 | 欧美精品18vide0sex性欧美 | 天天综合欧美 | 日韩高清专区 | 一区二区三区在线播放 | 亚洲在线第一页 | 99久久精品国内 |