java错题总结(7-9页) 字面量赋值

本文通过多个示例深入解析Java中字面量赋值的区别,包括String、Integer等类型,探讨equals()与==的区别以及内存中对象的创建与引用。
摘要由CSDN通过智能技术生成

-----------------------------------------------------------------------------------------

public class Test {
    private String name = "abc";
    public static void main(String[] args) {
        Test test = new Test();
        Test testB = new Test();
        String result = test.equals(testB) + ",";
        result += test.name.equals(testB.name) + ",";
        result += test.name == testB.name;

        System.out.println(result);
    }
}

输出:

  • false,true,true

1、首先应该注意到作为成员变量的 name 是使用字面量直接赋值的 ( privateString name ="abc"; ) 这种赋值的执行过程是先看字符串常量池中有没有 value 数组为 ['a', 'b', 'c'] 的 String 对象,如果没有的话就创建一个,有的话就拿到他的一个引用

2、name 没有被static 修饰,所以每实例化一个对象都会执行 private String name &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值