当前位置: 首页 > 知识库问答 >
问题:

String[]和String...在Java有什么区别?

年文柏
2023-03-14

我应该如何在Java中声明方法

这样地:

public static void main(String[] args)
{
    System.out.println("foo");
}

或者像这样:

public static void main(String... args)
{
    System.out.println("bar");
}

字符串[]和字符串之间的区别是什么 如果有?

共有3个答案

殳飞扬
2023-03-14

String[]args采用数组参数。

<代码>字符串。。。args将任意数量的字符串作为其参数,并从中创建一个数组。

季城
2023-03-14
匿名用户

<代码>字符串 被转换为字符串[]。主要区别在于,可以通过两种方式调用vararg方法:

method(a, b, c);
method(new String[] {a, b, c});

然而,您需要调用一个接受如下数组的方法:

method(new String[] {a, b, c});

对于主方法来说,这没有什么不同。

杜君浩
2023-03-14

我应该如何声明main()方法在Java?

String[]String 在内部是相同的,即字符串数组。不同之处在于,当使用varargs参数(String…)时,可以调用如下方法:

public void myMethod( String... foo ) {
    // do something
    // foo is an array (String[]) internally
    System.out.println( foo[0] );
}

myMethod( "a", "b", "c" );

// OR
myMethod( new String[]{ "a", "b", "c" } );

// OR without passing any args
myMethod();

当您将参数声明为字符串数组时,您必须这样调用:

public void myMethod( String[] foo ) {
    // do something
    System.out.println( foo[0] );
}

// compilation error!!!
myMethod( "a", "b", "c" );

// compilation error too!!!
myMethod();

// now, just this works
myMethod( new String[]{ "a", "b", "c" } );

字符串[]和字符串之间的区别是什么。。。如果有的话?

惯例是使用字符串[]作为主要方法参数,但使用字符串 也起作用,因为当您使用varargs时,您可以用与调用以数组作为参数的方法相同的方式调用该方法,并且参数本身将是方法体中的一个数组。

重要的一点是,当使用vararg时,它必须是方法的最后一个参数,并且只能有一个vararg参数。

你可以在这里阅读更多关于varargs的信息:http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html

 类似资料:
  • 问题内容: 我应该如何用Java 声明方法? 像这样: 或像这样: 和如果有的话,实际上有什么区别? 问题答案: 我应该如何在Java中声明main()方法? 和在内部同样的事情,即,字符串的数组。区别在于,当您使用varargs参数()时,可以像下面这样调用方法: 并且当您将参数声明为String数组时, 必须以 这种方式调用: 和…(如果有)之间到底有什么区别? 约定是用作主要的方法参数,但也

  • 问题内容: 这两个语句之间有什么区别: 和 如果您能说明差异,那就太好了。 问题答案: 第一个是创建一个新的String对象。第二个是有效地使用已经存在的(它是在加载类文件时创建的)。实际上,从来没有理由使用构造函数。 (我之所以这样说, 实际上是 因为有一种情况:如果要通过调用然后丢弃原始文件来分解大块,则可以使用此构造函数从子字符串中创建new来节省内存。这确实是一个晦涩的情况,虽然。)

  • 我想将字符串转换为双精度数据类型。我不知道应该使用parseDouble还是valueOf。 这两种方法有什么区别?

  • 我们可以对String数组有两个声明 1. 2个 有人能告诉我区别吗

  • 问题内容: 在Go语言中, 是一个字符串数组 并且我们也将其用作参数。 有什么区别? 功能定义: 我可以像下面这样调用此函数吗? 问题答案: 是一个字符串数组 从技术上讲,这是引用基础数组的切片 并且我们也将其用作参数。 有什么区别? 关于结构,真的没有。两种语法得出的数据类型相同。 该参数语法形成了可变参数的参数。它将接受零个或多个参数,并将它们作为切片引用。 关于调用,您可以使用以下语法将字符