大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年阿里java工程師筆試題分享

2020年阿里java工程師筆試題分享

更新時間:2020-04-27 14:26:39 來源:動力節點 瀏覽2768次

    第一題:char型變量中能不能存貯一個中文漢字?為什么?

    char型變量是用來存儲Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當然可以存儲漢字啦。不過,如果某個特殊的漢字沒有被包含在unicode編碼字符集中,那么,這個char型變量中就不能存儲這個特殊漢字。補充說明:unicode編碼占用兩個字節,所以,char類型的變量也是占用兩個字節。

    第二題:"=="和equals方法究竟有什么區別

    (單獨把一個東西說清楚,然后再說清楚另一個,這樣,它們的區別自然就出來了,混在一起說,則很難說清楚)

    ==操作符專門用來比較兩個變量的值是否相等,也就是用于比較變量所對應的內存中所存儲的數值是否相同,要比較兩個基本類型的數據或兩個引用變量是否相等,只能用==操作符。

    如果一個變量指向的數據是對象類型的,那么,這時候涉及了兩塊內存,對象本身占用一塊內存(堆內存),變量也占用一塊內存,例如Objetobj=newObject();變量obj是一個內存,newObject()是另一個內存,此時,變量obj所對應的內存中存儲的數值就是對象占用的那塊內存的首地址。對于指向對象類型的變量,如果要比較兩個變量是否指向同一個對象,即要看這兩個變量所對應的內存中的數值是否相等,這時候就需要用==操作符進行比較。

    equals方法是用于比較兩個獨立對象的內容是否相同,就好比去比較兩個人的長相是否相同,它比較的兩個對象是獨立的。例如,對于下面的代碼:

    Stringa=newString("foo");

    Stringb=newString("foo");

    兩條new語句創建了兩個對象,然后用a,b這兩個變量分別指向了其中一個對象,這是兩個不同的對象,它們的首地址是不同的,即a和b中存儲的數值是不相同的,所以,表達式a==b將返回

    false,而這兩個對象中的內容是相同的,所以,表達式a.equals(b)將返回true。

    在實際開發中,我們經常要比較傳遞進行來的字符串內容是否等,例如,Stringinput=…;input.equals(“quit”),許多人稍不注意就使用==進行比較了,這是錯誤的,隨便從網上找幾個項目實戰的教學視頻看看,里面就有大量這樣的錯誤。記住,字符串的比較基本上都是使用equals方法。

    如果一個類沒有自己定義equals方法,那么它將繼承Object類的equals方法,Object類的equals方法的實現代碼如下:

    booleanequals(Objecto){

    returnthis==o;

    }

    這說明,如果一個類沒有自己定義equals方法,它默認的equals方法(從Object類繼承的)就是使用==操作符,也是在比較兩個變量指向的對象是否是同一對象,這時候使用equals和使用==會得到同樣的結果,如果比較的是兩個獨立的對象則總返回false。如果你編寫的類希望能夠比較該類創建的兩個實例對象的內容是否相同,那么你必須覆蓋equals方法,由你自己寫代碼來決定在什么情況即可認為兩個對象的內容是相同的。

    第三題:靜態變量和實例變量的區別

    在語法定義上的區別:靜態變量前要加static關鍵字,而實例變量前則不加。

    在程序運行時的區別:實例變量屬于某個對象的屬性,必須創建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量。靜態變量不屬于某個實例對象,而是屬于類,所以也稱為類變量,只要程序加載了類的字節碼,不用創建任何實例對象,靜態變量就會被分配空間,靜態變量就可以被使用了。總之,實例變量必須創建對象后才可以通過這個對象來使用,靜態變量則可以直接使用類名來引用。

    例如,對于下面的程序,無論創建多少個實例對象,永遠都只分配了一個staticVar變量,并且每創建一個實例對象,這個staticVar就會加1;但是,每創建一個實例對象,就會分配一個instanceVar,即可能分配多個instanceVar,并且每個instanceVar的值都只自加了1次。

    publicclassVariantTest

    {

    publicstaticintstaticVar=0;publicintinstanceVar=0;publicVariantTest()

    {

    staticVar++;instanceVar++;

    System.out.println(“staticVar=”+staticVar

    +”,instanceVar=”+instanceVar);

    }

    }

    第四題:是否可以從一個static方法內部發出對非static方法的調用

    不可以。因為非static方法是要與對象關聯在一起的,必須創建一個對象后,才可以在該對象上進行方法調用,而static方法調用時

    不需要創建對象,可以直接調用。也就是說,當一個static方法被調用時,可能還沒有創建任何實例對象,如果從一個static方法中發出對非static方法的調用,那個非static方法是關聯到哪個對象上的呢?這個邏輯無法成立,所以,一個static方法內部發出對非static方法的調用。

    第五題:Integer與int的區別

    int是java提供的8種原始數據類型之一。Java為每個原始類型提供了封裝類,Integer是java為int提供的封裝類。int的默認值為0,而Integer的默認值為null,即Integer可以區分出未賦值和值為0的區別,int則無法表達出未賦值的情況,例如,要想表達出沒有參加考試和考試成績為0的區別,則只能使用

    Integer。在JSP開發中,Integer的默認為null,所以用el表達式在文本框中顯示時,值為空白字符串,而int默認的默認值為0,

    所以用el表達式在文本框中顯示時,結果為0,所以,int不適合作為web層的表單數據的類型。

    在Hibernate中,如果將OID定義為Integer類型,那么Hibernate就可以根據其值是否為null而判斷一個對象是否是臨時的,如果將OID定義為了int類型,還需要在hbm映射文件中設置其unsaved-value屬性為0。

    另外,Integer提供了多個與整數相關的操作方法,例如,將一個字符串轉換成整數,Integer中還定義了表示整數的最大值和最小值的常量。

2020年阿里java工程師筆試題分享

 以上就是動力節點java培訓機構的小編針對“2020年阿里java工程師筆試題分享”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 好吊妞在线成人免费 | 99精品全国免费7观看视频 | 日韩城人免费 | 国产高清一级毛片在线不卡 | 四虎国产精品免费久久麻豆 | 亚洲成人性视频 | 精品欧美成人bd高清在线观看 | 激情五月婷婷综合网 | 久久黄色网 | 久久日韩在线 | 国产一区二区三区免费视频 | 热re99久久精品国产99热 | 狠狠色噜噜狠狠狠狠 | 亚洲免费黄色 | 五月久久亚洲七七综合中文网 | 国产精品久久久久久久久久直 | 久久久综合中文字幕久久 | 狠狠色视频 | 狠狠成人 | 国产一区中文字幕在线观看 | 91精选视频| 看一级大片| 亚洲视频在线网站 | 亚洲黄色a级片 | 成人区精品一区二区不卡亚洲 | 国产精品久久久久一区二区三区 | 中文字幕亚洲第一 | 香蕉视频网站免费观视频 | 97夜夜澡人人爽人人免费 | 老子影院午夜伦不卡不四虎卡 | 伊人快播 | 成人国产精品一级毛片天堂 | 精品国产乱码一区二区三区麻豆 | 亚洲一区二区三区麻豆 | 欧美日韩中文字幕在线手机版本 | 婷婷激情网站 | 99热这里只有精品5 99热这里只有精品66 | 一道本不卡免费视频 | 日本不卡一二三区 | 99er久久| 久久综合久久伊人 |