当前位置: 首页 > wzjs >正文

遵义北京网站建设在线编辑ppt的网站

遵义北京网站建设,在线编辑ppt的网站,网站是做响应式还是自适应的好,wordpress收费文章目录 **Java 可变参数(Varargs)使用指南****1. 基本语法****2. 调用方式****3. 关键注意事项****4. 底层实现****5. 实际应用场景****6. 总结** Java 可变参数(Varargs)使用指南 1. 基本语法 定义方式:在方法参数…

文章目录

      • **Java 可变参数(Varargs)使用指南**
        • **1. 基本语法**
        • **2. 调用方式**
        • **3. 关键注意事项**
        • **4. 底层实现**
        • **5. 实际应用场景**
        • **6. 总结**

Java 可变参数(Varargs)使用指南


1. 基本语法
  • 定义方式:在方法参数中使用 类型... 参数名,且必须是最后一个参数。
  • 示例
public void printValues(String prefix, int... numbers) {System.out.print(prefix + ": ");for (int num : numbers) {System.out.print(num + " ");}System.out.println();
}

2. 调用方式
调用方式示例输出
传递多个值printValues("结果", 1, 2, 3);结果: 1 2 3
传递数组int[] arr = {4, 5, 6}; printValues("数组", arr);数组: 4 5 6
空参数printValues("空");空: (无数字)

3. 关键注意事项
  1. 参数位置
    • 可变参数必须为最后一个参数,否则编译错误。
    • ❌ 错误示例:
public void errorExample(int... nums, String str) {} // 编译错误
  1. 方法重载优先级
    • 固定参数方法优先于可变参数方法:
void test(int a, int b) {}    // 优先调用
void test(int... nums) {}     // 参数不匹配时调用
    * `test(1, 2)` → 调用第一个方法。  * `test(1)` → 调用第二个方法。
  1. 避免重载歧义
    • 两个可变参数方法会导致编译错误:
void test(int... nums) {}
void test(String... strs) {}
test(); // 编译错误:无法确定调用哪个方法
  1. 处理 null
  • 情况 1:可变参数本身为 <font style="color:rgb(64, 64, 64);">null</font>
printValues(null, 1, 2);  // 第一个参数是 prefix,被赋值为 null
- **<font style="color:rgb(64, 64, 64);">风险</font>**<font style="color:rgb(64, 64, 64);">:若方法内直接使用 </font>`<font style="color:rgb(64, 64, 64);">prefix</font>`<font style="color:rgb(64, 64, 64);">(如 </font>`<font style="color:rgb(64, 64, 64);">prefix.length()</font>`<font style="color:rgb(64, 64, 64);">),会抛出 </font>`<font style="color:rgb(64, 64, 64);">NullPointerException</font>`<font style="color:rgb(64, 64, 64);">。</font>
  • 情况 2:可变参数数组为 <font style="color:rgb(64, 64, 64);">null</font>
int[] nums = null;
printValues("前缀", nums);  // 可变参数 numbers 接收 null
- **<font style="color:rgb(64, 64, 64);">风险</font>**<font style="color:rgb(64, 64, 64);">:遍历 </font>`<font style="color:rgb(64, 64, 64);">numbers</font>`<font style="color:rgb(64, 64, 64);"> 时(如 </font>`<font style="color:rgb(64, 64, 64);">for (int num : numbers)</font>`<font style="color:rgb(64, 64, 64);">),会抛出 </font>`<font style="color:rgb(64, 64, 64);">NullPointerException</font>`<font style="color:rgb(64, 64, 64);">。</font>
  • 直接传递 null 可能引发 NullPointerException,建议检查:
prefix = (prefix == null) ? "默认前缀" : prefix;
//或者
if (numbers == null) {numbers = new int[0];  // 替换为空数组}

4. 底层实现
  • 可变参数在编译后会转换为数组:
// 源码
void sum(int... nums) {}// 编译后等价于
void sum(int[] nums) {}

5. 实际应用场景
  1. 日志工具类
public class Logger {public static void log(String format, Object... args) {format = format == null ? "[无消息]" : format;args = args == null ? new Object[0] : args;String message = String.format(format, args);System.out.println(message);}
}// 调用示例
Logger.log(null, "Alice");          // 输出: [无消息]
Logger.log("用户: %s", null);       // 输出: 用户: null
Logger.log("数据: %d", (Object)null); // 输出: 数据: null
  1. 数学计算
public static int max(int... numbers) {if (numbers == null || numbers.length == 0) {throw new IllegalArgumentException("参数不能为null或空");}int max = numbers[0];for (int num : numbers) {if (num > max) max = num;}return max;
}// 调用示例
max(1, 3, 2);     // 正常返回 3
max(null);        // 抛出 IllegalArgumentException

6. 总结
优点注意事项适用场景
简化调用,参数数量灵活必须作为最后一个参数日志、工具方法、参数数量不确定时
代码更简洁避免重载歧义String.format()、集合操作
兼容数组传参处理 null 值防崩溃

核心原则

  • 可变参数提供灵活性,但需谨慎设计方法签名以避免冲突。
  • 适合同类型参数数量不确定的场景。

参考:博客园

http://www.dtcms.com/wzjs/788833.html

相关文章:

  • 网站开发绩效考核与薪酬品牌形象网站源码
  • 大连外贸建站办个网站卖什么好处
  • 推荐黄石网站建设新闻稿发布平台
  • 网站制作及排名优化公众号开发者平台
  • cad做兼职区哪个网站免费网站自动跳转
  • 安庆集团网站建设wordpress 页眉
  • 网站建设协议 模板下载阿里国际网站做免费有用吗
  • 汕头网站推广系统网站英文域名是什么
  • 合肥网站建设 合肥网络推广苏州百度推广公司
  • 中国建设银行网站首页企业网银网站做的最好的
  • 如何做好一个企业网站如何创建私人网站
  • 电子商务网站设计说明书桂林旅游网站制作公司
  • 西安有那些做网站的公司沈阳seo推广
  • 陕西网站建站软件工程师的薪资待遇
  • 深圳网站建设服务找哪家网站自助建站软件
  • 郑州企业网站价格怎么制作网站教程手机
  • 中文门户网站有哪些不限次数观看视频的app
  • 用qq空间做网站做网站的公司怎么赚钱
  • 公司做网站怎么做那个网站ppt做的比较好
  • 怎样用微信做购物网站做微整的网站
  • 网站快照历史wordpress 不同文章不同模板
  • 有意思网站推荐网站开发当前城市定位功能
  • 网站WordPress站点商业网站开发实训心得体会范文
  • 外贸电子网站app网站开发的特点
  • 有园林案例的网站建设银行为啥重置不了密码
  • 学生简单网站制作教程免费创建网站的平台
  • 国外网站设计风格手机app设计方案
  • 刚察县公司网站建设平面设计制作公司
  • 发布 php 微网站如何关闭2345网址导航
  • 沭阳城乡建设局网站昆山网站建设需要多少钱