String... 和 String[] 的区别

String...String[] 在Java中都用来表示字符串数组,但它们在使用上有一些区别:

  1. String[]: 明确表示一个字符串数组。它可以在方法参数中使用,也可以用于局部变量、成员变量等场景。当你需要定义一个字符串数组时,你会使用String[]

  2. String...: 是一种特殊的方法参数,称为可变参数(varargs)。它允许你在调用方法时传入任意数量的字符串参数,而不是预先定义的数组。编译器在内部将这些参数转换为一个数组。可变参数必须是方法签名中的最后一个参数。

互相转换

  • String[]String...: 由于在内部String...参数实际上被当作String[]处理,所以在方法调用时,你可以直接传递一个String[]给一个接受String...的参数。这里不需要显示的转换。

  • String...String[]: 在方法内部,String...参数就是一个String[]数组。因此,如果你有一个方法参数是String...,而你需要一个String[]数组,实际上你已经有了,不需要任何转换。

示例

使用String[]:
public void printStrings(String[] strings) {
    for (String str : strings) {
        System.out.println(str);
    }
}

// 调用
String[] array = {"Hello", "World"};
printStrings(array);
使用String...:
public void printStrings(String... strings) {
    for (String str : strings) {
        System.out.println(str);
    }
}

// 调用
printStrings("Hello", "World"); // 直接传递字符串
// 或者
String[] array = {"Hello", "World"};
printStrings(array); // 传递字符串数组

在使用String...时,你可以传递一个字符串数组,也可以传递零个或多个字符串参数。这提供了额外的灵活性,尤其是在不确定参数数量的情况下。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值