栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java可变长度参数与数组,只是语法糖?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java可变长度参数与数组,只是语法糖?

在Java中,varargs是在调用方法时用于创建数组的语法糖。例如,这两个调用是等效的:

void foo(String... args) { ... }foo("hello", null, "world", xyz);  // Java 1.5+foo(new String[]{"hello", null, "world", xyz});  // All versions of Java

Varargs并没有使任何新事物成为可能(通过语法糖的定义),但是它减少了冗长性,并使某些构造更易于实现。例如,一些我最喜欢的可变参数的用途包括:

PrintStream.printf()
String.format()
Method.invoke()

varargs的其他良好应用:

// This one is in the Java standard libraryCollections: void addAll(Collection<? super T> c, T... elements);// Custom examplesint max(int... nums);void doOperation(File x, String y, SomeEnum options...);

此外,Java的varargs使语言与C,Python,Javascript和其他语言中的vararg支持达到同等地位。因此,如果经常使用的设计(例如

max()
)与varargs一起使用效果最好,则Java不再是需要较丑陋的实现的奇怪语言。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号