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

服務(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天色综合三 | 免费一区二区 | 国产 国语对白 露脸正在播放 | 色吧五月婷婷 | 扒开老女人 | 国产婷婷高清在线观看免费 | fquer老师| 久久热这里只有 精品 | 欧美日韩精品在线视频 | se综合| 亚洲精品久久久WWW游戏好玩 | 久久人妻少妇嫩草AV无码 | 四虎2021地址入口 | 国产精品 视频一区 二区三区 | juliaann大战两个黑人 | 99热这里只有精品在线播放 | 男人猛激烈吃奶gif动态图 | a级毛片毛片免费观看永久 a级黄色片免费 | 国产精品久久久久久久久久久久久久 | 香蕉久久夜色精品国产尤物 | 魔镜号中文字幕 | 欧美灰丝袜丝交nylons | 偷拍自拍校园春色 | 亚洲白拍 | 成人免费观看www视频 | 青青青青在线视频 | 国产精品成人va在线观看 | 国内精品久久久久影院网站 | 欧美巨吊 | 色综合视频在线 | 亚洲3dxxxx动漫xxx | 青青国产在线视频 | 三级aaa黄特色 | 村妇超级乱淫伦小说全集 | 欧美在线成人免费国产 | 男男互操文 | 91精品国产色综合久久 | 午夜精品久久久久 | 久久成人永久免费播放 | 免费一级特黄特色大片 | 欧美人做人爱a全程免费 |