永发信息网

传入对象时是传值还是传引用

答案:1  悬赏:60  手机版
解决时间 2021-03-25 00:50
传入对象时是传值还是传引用
最佳答案
记住一点,基本类型是传值,引用类型是传引用,对象是引用类型,所以传的是引用。
那么可能有人会对如下的执行结果产生疑问:
public static void main(String[] args) {
    String str = "s";
    doStr(str);
    System.out.println(str);

    Integer integer = new Integer(1);
    doInt(integer);
    System.out.println(integer);
}

public static void doStr(String str) {
    str = "sss";
}

public static void doInt(Integer integer) {
    integer = 2;
}

输出结果为:
s
1String和Integer明明是引用类型,为什么值没有被改变?这里要说的就是这两个的特殊性,str = "sss"这一行执行的操作是在常量池寻找匹配的字符串指向该引用,如果没有会执行 str=new String("sss"),这是String类型的特殊性,有兴趣可以学习一下。 而integer = 2这一行执行的是integer = new Integer(2),这就是自动装箱操作,同理,所有基本类型对应的对象类型也是同样的。也就是说,上述操作已经不是对原来被引用对象的操作了,所以对象的值没有改变。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
尧做偏旁可以加什么么
怎样用绿提子制作酒 用绿提子制作酒的方法技
足球竞猜,我买单场胜负的玩法,如图,我想问
提车时公里表14公里,正常吗
酷比新手机用到一半就自动关机
形容小孩子顽皮可爱的成语有哪些?
OPPOA59系统怎么切换键盘,就是怎么在设置里
谷善庆的人生经历
10米宽的跨度要布几个柱子
有谁知道现在广州出租手对讲机频率
请问载货轿车指的是哪种轿车呢?吨位有多大呢
手表说k金白面是指什么
qq怎么还原好友撤回的消息
奥伦达部落的度假小镇怎么样?
成都高新西区顺江小区附近的大型购物广场或超
推荐资讯
梦终究是梦,永远不能实现的梦怎么可能会有希
房子朝什么方向好
宏信商贸汽车销售地址在什么地方,我要处理点
什么叫做“薄情寡义”?
操盘手看盘中 b,s点下面相对应的数值是什么意
现在国产内裤哪个质量好,青年穿的
推荐几首可以用吉他很好听的歌曲(中文的)
2.175化为分数是多少
小红发现某个教室里的开关可以同时控制两盏灯
世溷浊而莫余知兮 吾方高驰而不顾 什么句式
表内是探究蚂蚁食性的过程,属于科学探究过程
胎大小约63x29x57mm是男孩还是女孩
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?