有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    是的,它们都是对象,请查看自动装箱

    https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html

    在这种情况下,编译器会在这种情况下自动转换Character c1=c;

    Character c1 = Character.valueOf(c)
    

    编辑以回复评论:

    它们不是相同的对象(相同的哈希代码),但它们具有相同的值

    如果在Character类中签出equals方法,您将看到它覆盖了默认的对象类equals,因此当它们的内部值相同时,equality是真的

    public boolean equals(Object obj) {
        if (obj instanceof Character) {
            return value == ((Character)obj).charValue();
        }
        return false;
    }
    
  2. # 2 楼答案

    它们都是物体。然而,让我向你们解释更多关于它的事情:

    char c='w';
    

    是Java中的一个原语值(它代表一个16位Unicode值),而Character c2=new Character(c);是一个包装类,可以帮助您以OOP方式使用char原语

    查看this以获得关于char值的进一步解释