欢迎使用CSDN-markdown编辑器

来源:互联网 发布:凯利指数分析软件 编辑:程序博客网 时间:2024/05/29 09:48

Think in Java 的小发现

方法参数是否会改变?从最初c入门我们交换想创建一个通用方法来交换两个数,我们会发现这个公用方法并不起效。原因,方法是传值不是传引用。
    //传值:无效    void swap(int a,int b){....}    //传引:有效    swap(int &a,int &b){...}

而在java中,我一直以为对于是对于除基本数据类型int,boolean….等等之外,若参数是对象则实际传引用。(这句话出自Tink in Java,基本数据类型并没有包括String)。如下代码:

    void change(String s){       s="change after";    }    public static void main(String[] arg){    String str="if change";    chnage(str);    System.out.println(str);    //结果,出乎我的预想。String是一个对象,但是change(String s)方法中实际跟基本数据数据类型一样,是传值,不是传引用。
总结:String用法的太像基本数据类型了
0 0
原创粉丝点击