java中基本的數據類型有哪些?
類型 | 學名 |
byte | 字節型 |
short | 短整型 |
int | 整型 |
long | 長整型 |
double | 雙精度浮點型 |
float | 單精度浮點型 |
char | 字符類型 |
boolean | 布爾型 |
java中switch可以使用byte類型嗎?能使用String類型嗎?那能使用Long類型嗎?
java中switch可以使用byte、short、int、char以及枚舉類型
java1.7之後可以使用string類型
不可以long 類型佔位過大,在switch(expression)中,expression只能是一個整數表達式或者枚舉常量
java中==和equals和hashCode的區別
比較符 | 比較數字 | 比較對象 | string |
== | 比較的是值,數字大小 | 比較的是引用地址 | 比較的是引用地址 |
equals | 比較的是引用地址 | 比較的是字符串內容是否一樣(被重寫) | |
hashCode | 比較的是引用地址 | 比較的是引用地址 | equals相等hashCode一定相等(被重寫) |
java中int和integer的區別
Integer是int的包裝類,int則是java的一種基本數據類型
Integer的默認值可以爲null,int的默認值只能是0
Integer new的對象需要equals比較內容是否相等,否則比較的是地址值,int可以直接用==比較內容
Overload(重載)和Override(重寫)的區別
重載與重寫都是多態的體現
重載是編譯時多態 重載寫在同一個類中 重載必須方法名相同 不同的參數 可以有不同的返回值 不同的修飾符 拋出不同的異常
重寫是運行時多態 重寫是發生在子類中 重寫必須方法名相同 相同的參數 相同的返回值 不能小於父類的修飾符 不能拋出父類沒拋出的異常
public/private/protected的具體區別
public | 當前類 | 同一包 | 子孫類 | 其他包 |
protected | 當前類 | 同一包 | 子孫類 | |
friendly(默認修飾符) | 當前類 | 同一包 | ||
private | 當前類 |
String,StringBuffer與StringBuilder的區別
String是字符串常量 是不可變的
StringBuffer與StringBuilder是可變長度字符串
運行效率: StringBuilder>StringBuffer>String
StringBuffer 是線程安全的
StringBuilder 是線程不安全的
java運行時異常及常見的5中RuntimeExecption
AnnotationTypeMismatchException,
ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException,
CannotRedoException,
CannotUndoException,
ClassCastException,
CMMException,
ConcurrentModificationException,
DOMException,
EmptyStackException,
EnumConstantNotPresentException,
EventException,
IllegalArgumentException,
IllegalMonitorStateException,
IllegalPathStateException,
IllegalStateException,
ImagingOpException,
IncompleteAnnotationException,
IndexOutOfBoundsException,
JMRuntimeException,
LSException,
MalformedParameterizedTypeException,
MirroredTypeException,
MirroredTypesException,
MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,
NoSuchMechanismException,
NullPointerException,
ProfileDataException,
ProviderException,
RasterFormatException,
RejectedExecutionException,
SecurityException,
SystemException,
TypeConstraintException,
TypeNotPresentException,
UndeclaredThrowableException,
UnknownAnnotationValueException,
UnknownElementException,
UnknownTypeException,
UnmodifiableSetException,
UnsupportedOperationException,
WebServiceException
List,Set,Map是否繼承自Collection接口,以及他們之間的區別
list與set是繼承的Collection,Map不是
list 是有序的 允許值爲null 可以迭代也可以遍歷 可以根據下標取值 可以重複得
set 不允許爲null 是Hashcode順序存在列表中 只能通過迭代遍歷 不可重複的
map 只允許有一個null key, key不可重複,是以鍵值對的方式存放
ArrayList 是查找快捷 LinkedList是增 刪 改快捷
ArrayList與LinkedList線程都不安全
Vector類似於ArrayList,屬於線程安全的
HashMap 效率高線程不安全
HashTable 效率低線程安全
ConcurrentHashMap 線程安全 比HashTable效率高、