一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java 8中如何獲取參數(shù)名稱的方法示例

Java 8中如何獲取參數(shù)名稱的方法示例

2020-07-28 14:27廖雪峰 Java教程

這篇文章主要給大家介紹了在Java 8中如何獲取參數(shù)名稱的方法,文中給出了詳細(xì)的介紹和方法示例,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。

前言

在Java 8之前的版本,代碼編譯為class文件后,方法參數(shù)的類型是固定的,但參數(shù)名稱卻丟失了,這和動(dòng)態(tài)語(yǔ)言嚴(yán)重依賴參數(shù)名稱形成了鮮明對(duì)比。現(xiàn)在,Java 8開(kāi)始在class文件中保留參數(shù)名,給反射帶來(lái)了極大的便利。

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class GetRuntimeParameterName {
 
 public void createUser(String name, int age, int version) {
  //
 }
 
 public static void main(String[] args) throws Exception {
  for (Method m : GetRuntimeParameterName.class.getMethods()) {
   System.out.println("----------------------------------------");
   System.out.println(" method: " + m.getName());
   System.out.println(" return: " + m.getReturnType().getName());
   for (Parameter p : m.getParameters()) {
    System.out.println("parameter: " + p.getType().getName() + ", " + p.getName());
   }
  }
 }
}

Method.getParameters為1.8新增方法,可以獲取參數(shù)信息,包括參數(shù)名稱。

上述代碼輸出的createUser參數(shù)如下:

?
1
2
3
4
5
method: createUser
 return: void
parameter: java.lang.String, name
parameter: int, age
parameter: int, version

參數(shù)名稱被編譯進(jìn)了class文件,替代了早期版本里無(wú)意義的arg0arg1……

對(duì)于很多依賴參數(shù)名的框架,可進(jìn)一步簡(jiǎn)化代碼:

?
1
2
3
4
@Path("/groups/:groupid/:userid")
public User getUser(String groupid, String userid) {
 ...
}

沒(méi)有參數(shù)名的時(shí)代,得加上注解:

?
1
2
3
4
@Path("/groups/:groupid/:userid")
public User getUser(@Param("groupid") String groupid, @Param("userid") String userid) {
 ...
}

遺憾的是,保留參數(shù)名這一選項(xiàng)由編譯開(kāi)關(guān)javac -parameters打開(kāi),默認(rèn)是關(guān)閉的。

在Eclipse中,可以通過(guò)Compiler選項(xiàng)打開(kāi):

Java 8中如何獲取參數(shù)名稱的方法示例

注意:此功能必須把代碼編譯成1.8版本的class才行。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

原文鏈接:http://www.liaoxuefeng.com/article/00141999088629621039ee8c4614579bfedb78a5030bce3000

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费一区视频 | 午夜精品久久久久久中宇 | 国产精品青青青高清在线观看 | 俄罗斯freeⅹ性欧美 | 很黄的孕妇a级黄毛片 | 暖暖的免费观看高清视频韩国 | 5g在线观看| 亚洲另类中文字幕 | 国产永久在线观看 | 天作谜案免费完整版在线观看 | 韩国三级在线高速影院 | 人与动人物性行为zozo共患病 | 国产精品免费 | 好硬好大好浪夹得好紧h | 亚洲无总热门 | 色色色资源站 | 日韩中文字幕在线不卡 | 欧美香蕉视频 | www在线观看视频免费 | 免费日批视频 | 高跟丝袜人妖sissy露出调教 | 91制片厂制作果冻传媒八夷 | 日本一区二区免费在线观看 | 出轨同学会2在线观看 | 放荡的女老板bd中文字幕 | 国产自在自线午夜精品之la | 国产色视频网站 | 爱情岛论坛亚洲品质自拍视频 | 国产成人www免费人成看片 | 亚洲欧洲综合 | 国产91精品在线播放 | 亚洲免费在线看 | 国产特黄a级在线视频 | 动漫精品一区二区三区3d | 校园肉文高h | 我和子伦系列小说 | 精品日产1区2卡三卡麻豆 | 精品欧美一区二区精品久久 | 亚洲午夜小视频 | 日本网络视频www色高清免费 | 91精品国产免费久久国语蜜臀 |