Java的main函数里的参数研究

本文记录了一次在Java中关于main方法参数的低级错误,重点探讨了`String[] args`的含义及其重要性。通过查看`System.out.println(args)`的源码,解释了多态在其中的作用。同时,提到了`Integer.valueOf()`方法的用途,并对`synchronized`关键字进行了简要说明。此外,文章还展示了如何在IDEA中设置命令行参数进行程序运行,并展示了运行结果。
摘要由CSDN通过智能技术生成

今天学习Java犯了个低级错误,main函数的参数Stirng忘记加[],导致在idea平台无法编译运行。

这是源码。

import java.lang.reflect.Array;
import java.util.*;



public class test {
  public static  void  main(String args){
        Class c1 = new ArrayList<String>().getClass();
        Class c2 = new ArrayList<Integer>().getClass();
      System.out.println(args);
        System.out.println("这是什么?");

        System.out.println(c1==c2);

    }

}

本意是为了研究泛型的擦除,但是却发现死活编译不出来,最后才发现args变成了Stirng而不是Stirng[]。

顺便研究一下String []args到底是什么。

将修改过的函数运行,使用 System.out.println(args);

查看println的源码会发现,它用了方法不同参数实现多态,其中传入args会调用println(object )的方法。

 public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }

valueOf是个静态方法。 可以把对象转换为所需要的类型, Integer.valueOf("1005&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值