一个关于arrays.equals()方法的问题(JAVA)

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:35:28
public class Test {

public static void main ( String args[] ){

if( args[0].equals( "a" ) ){
System.out.print( "hello" );
}else if( args[0].equals( "b" ) ){
System.out.print( "bye-bye" );
}

}
}
代码如上 编译结果是 输入:java Test a 输出:hello;输入:java Test b 输出:bye-bye

我的问题是arrays.equals()方法是用于比较2个数组的 输出是boolean结果 比如arrays.equals( int[] a , int[] b); 比较数组a,b
但是上面段程序是args[0].equals( "a" ) 只有一个参数 而且怎么可以用args[0].代替类名arrays呢?args[0].equals( "a" )是方法还是其他的东西?
那请问一下args[0].equals( "a" )里 agrs[0]是String的对象还是什么?

Arrays是数组的操作类,你程序里的args[0]类型是String
调用的是String类的equals方法!

问题补充:那请问一下args[0].equals( "a" )里 agrs[0]是String的对象还是什么?

你定义的数组是String[]的.那么它的每个成员就都是一个String的对象,因此也就具有String的属性.拥用String的方法.

args[] ,是String数组,
而args[0]只是一个String
而args[0].equals()是用的String的方法

String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。

这个编译能过么