溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java語(yǔ)言中一些方法技巧

發(fā)布時(shí)間:2021-05-06 13:44:18 來(lái)源:億速云 閱讀:124 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)java語(yǔ)言中一些方法技巧,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復(fù)的;2、Queue隊(duì)列:有序,可重復(fù)的;3、Set集合:不可重復(fù);4、Map映射:無(wú)序,鍵唯一,值不唯一。

我們?cè)谑褂么a的時(shí)候,有很多便捷的操作,能夠節(jié)約編寫代碼的效率和運(yùn)行速度,也算是java中的小技巧。

1、獲取要反射的方法

獲取反射方法時(shí),有兩個(gè)方法,getMethod 和 getDeclaredMethod。

class Class {
 @CallerSensitive
 public Method getMethod(String name, Class<?>... parameterTypes)
 throws NoSuchMethodException, SecurityException {
 Objects.requireNonNull(name);
 SecurityManager sm = System.getSecurityManager();
 if (sm != null) {
 // 1. 檢查方法權(quán)限
 checkMemberAccess(sm, Member.PUBLIC, Reflection.getCallerClass(), true);
 }
 // 2. 獲取方法
 Method method = getMethod0(name, parameterTypes);
 if (method == null) {
 throw new NoSuchMethodException(methodToString(name, parameterTypes));
 }
 // 3. 返回方法的拷貝
 return getReflectionFactory().copyMethod(method);
 }
 @CallerSensitive
 public Method getDeclaredMethod(String name, Class<?>... parameterTypes)
 throws NoSuchMethodException, SecurityException {
 Objects.requireNonNull(name);
 SecurityManager sm = System.getSecurityManager();
 if (sm != null) {
 // 1. 檢查方法是權(quán)限
 checkMemberAccess(sm, Member.DECLARED, Reflection.getCallerClass(), true);
 }
 // 2. 獲取方法
 Method method = searchMethods(privateGetDeclaredMethods(false), name, parameterTypes);
 if (method == null) {
 throw new NoSuchMethodException(methodToString(name, parameterTypes));
 }
 // 3. 返回方法的拷貝
 return getReflectionFactory().copyMethod(method);
 }
}

2、在Java5中,提供了for-each循環(huán),從而簡(jiǎn)化了對(duì)數(shù)組和集合的循環(huán)。Fore-each循環(huán)允許您遍歷數(shù)組而不需要保留傳統(tǒng)for循環(huán)中的索引,也不需要在使用迭代器時(shí)調(diào)用while循環(huán)中的hasNext方法和next方法來(lái)遍歷集合。

double[] values = ...;
for(double value : values) {
    // TODO: 處理value
}
 
List<Double> valueList = ...;
for(Double value : valueList) {
    // TODO: 處理value
}

3、得到當(dāng)前方法的名字

<span style=
"font-family:Arial;font-size:14px;"
>String methodName = Thread.currentThread().getStackTrace()[
1
].getMethodName(); </span>

關(guān)于“java語(yǔ)言中一些方法技巧”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI