The following code uses simple String arrays in Java.
package javaarray;
final public class Main
{
public void someMethod(String[] str)
{
System.out.println(str[0]+"\t"+str[1]);
}
public static void main(String[] args)
{
String[] str1 = new String[] {"day", "night"};
String[] str2 = {"black", "white"};
Main main=new Main();
main.someMethod(str1);
main.someMethod(str2);
main.someMethod(new String[] { "day", "night" });
main.someMethod({ "black", "white" });
}
}
In the code snippet above, we can initialize arrays like this.
String[] str1 = new String[] {"day", "night"};
String[] str2 = {"black", "white"};
and we can directly pass it to a method without an assignment like this.
main.someMethod(new String[] { "day", "night" });
If this is so, then the following statement should also be true.
main.someMethod({ "black", "white" });
but the compiler complains: "Illegal start of expression is not an assertion" Why?
source
share