java中的可變參數(shù)使用方法
java中的可變參數(shù)使用方法
可變參數(shù)時Java 1.5新增的方法,可變參數(shù)方法接收0個或者多個指定類型的參數(shù),可變參數(shù)機制通過先創(chuàng)建一個數(shù)組,數(shù)組的大小為在調(diào)用位置所傳遞的參數(shù)數(shù)量,然后將參數(shù)值傳到數(shù)組中,最后將數(shù)組傳遞給方法。如:
public class Test{ public int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum; } }
可變參數(shù)提供了方便,但是使用可變參數(shù)時需要特別小心,可變參數(shù)方法的每次調(diào)用都會導致進行一次數(shù)組的分配和初始化,如果方法被多次調(diào)用對性能的影響會很大,但有一種方式可以適當?shù)慕獬@種問題。假設(shè)確定對某個方法95%的調(diào)用會有3個或者更少的參數(shù),就申明該方法的5個重載每個重載方法帶有0至3個普通參數(shù),當參數(shù)的數(shù)目超過3個時,就使用一個可變參數(shù)方法:
public class Test{ public void method(){} public void method(int a1){} public void method(int a1, int a2){} public void method(int a1, int a2, int a3){} public void method(int a1, int a2, int a3, int... args){} }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
springboot使用EMQX(MQTT協(xié)議)的實現(xiàn)
最近由于iot越來越火, 物聯(lián)網(wǎng)的需求越來越多, 那么理所當然的使用mqtt的場景也就越來越多,本文主要介紹了springboot使用EMQX(MQTT協(xié)議)的實現(xiàn),感興趣的可以了解一下2023-10-10Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析
這篇文章主要介紹了Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析的相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。2017-10-10詳解springboot接口如何優(yōu)雅的接收時間類型參數(shù)
這篇文章主要為大家詳細介紹了springboot的接口如何優(yōu)雅的接收時間類型參數(shù),文中為大家整理了三種常見的方法,希望對大家有一定的幫助2023-09-09Mybatis實現(xiàn)一對一、一對多關(guān)聯(lián)查詢的方法(示例詳解)
這篇文章主要介紹了Mybatis實現(xiàn)一對一、一對多關(guān)聯(lián)查詢的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Java17中record替代Lombok部分功能使用場景探究
這篇文章主要介紹了使用Java17中的record替代Lombok的部分功能,本文來為大家小小的總結(jié)下,我們可以在哪些地方,利用record來替換Lombok2024-01-01SpringBoot整合Redis哨兵模式的實現(xiàn)示例
Redis哨兵模式是Redis高可用方案的一種實現(xiàn)方式,通過哨兵來自動實現(xiàn)故障轉(zhuǎn)移,從而保證高可用,本文主要介紹了SpringBoot整合Redis哨兵模式的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2024-02-02Maven 搭建SpringMVC+Hibernate項目詳解
本文主要介紹Maven 搭建SpringMVC+Hibernate的知識,這里整理了詳細的資料,并附示例代碼,有興趣的小伙伴可以參考下2016-09-09Java利用StringBuffer替換特殊字符的方法實現(xiàn)
這篇文章主要介紹了Java利用StringBuffer替換特殊字符的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04