android java 面试题,Android java 高级面试题库
(一) java基礎面試知識點
1,java中==和equals和hashCode的區別?
1、“==”
==是運算符,用來比較兩個值、兩個對象的內存地址是否相等。
2、“equals()”:
equals是Object類的方法,默認情況下比較兩個對象是否是同一個對象,內部實現是通過“==”來實現的。
如果想比較兩個對象的其他內容,則可以通過重寫equals方法,例如:String類就重寫了equals方法,改成了對象的內容是否相等。
3、“hashCode()”:
hashCoed也是Object類里面的方法,返回值是一個對象的哈希碼,同一個對象哈希碼一定相等,但不同對象哈希碼也有可能相等。哈希碼主要有以下幾個注意點:
(1)HashCode的存在主要是為了查找的快捷性,HashCode是用來在散列存儲結構中確定對象的存儲地址的
(2)如果兩個對象equals相等,那么這兩個對象的HashCode一定也相同
(3)如果對象的equals方法被重寫,那么對象的HashCode方法也盡量重寫
(4)如果兩個對象的HashCode相同,不代表兩個對象就相同,只能說明這兩個對象在散列存儲結構中,存放于同一個位置,如果兩個對象的HashCode不相同,那么兩個對象一定不相同。
2,int、char、long各占多少字節數。
int 分為 long int和short int,其中long int是4個字節,short int是2個字節。
char 1個字節。
double 8個字節。
3,int與integer的區別
int 是基本類型,直接存數值
integer是對象,用一個引用指向這個對象
1.Java 中的數據類型分為基本數據類型和復雜數據類型
int 是前者>>integer 是后者(也就是一個類)
Integer 是對象類型 int是原始類型 適用場合有很大的不同 之所以要把int封裝成Integer 型 是因為很多方法參數就只接收對象類型(Object) 還比如 范型 就只支持 對象類型
例如往ArrayList里面add,必須add的是Object而int不是對象,就只能把Integer添加進去
2.初始化時>>
int i =1;
Integer i= new Integer(1);(要把integer 當做一個類看)
int 是基本數據類型(面向過程留下的痕跡,不過是對java的有益補充)
Integer 是一個類,是int的擴展,定義了很多的轉換方法
類似的還有:float Float;double Double;string String等
舉個例子:當需要往ArrayList,HashMap中放東西時,像int,double這種內建類型是放不進去的,因為容器都是裝 object的,這是就需要這些內建類型的外覆類了。
Java中每種內建類型都有相應的外覆類。
Java中int和Integer關系是比較微妙的。關系如下:
1.int是基本的數據類型;
2.Integer是int的封裝類;
3.int和Integer都可以表示某一個數值;
4.int和Integer不能夠互用,因為他們兩種不同的數據類型;
舉例說明
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
補充
String str = "1";
Integer i = Integer.valueof(str);
(1)調用Integer類中的靜態方法valueOf(String)
(2)valueOf方法將傳入的參數String轉化為int型值
(3)返回該值,如果String并不是純粹由數字構成即無法轉化為數字,則拋出NumberFormatException..
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android java 面试题,Android java 高级面试题库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcLive街机对战平台如何观看录象的
- 下一篇: android websocket封装,