objects comparation exam questions

 物件比較考題

下面 JAVA 程式輸出是什麼?

觀念

A.equal(B) 

  • 比較內容
  • 判斷兩個具有不同參考的物件是否指向相同的值

A==B 比較物件是否相同


下面 JAVA 程式輸出是什麼?(24 分)

public class C1 {

public static void main(String[ ] args) {

String s4 = new String("restful"),

s5 = new String("restful"),

s6 = new String("peaceful"),

s7 = s4,

s8 = "restful",

s9 = "restful";

System.out.println(s4.equals(s5));

System.out.println(s4.equals(s6));

System.out.println(s4 == s5);

System.out.println(s4 == s7);

System.out.println(s4 == s8);

System.out.println(s8 == s9);

} }


以下是提供的Java程序的输出:


```java

public class C1 {

    public static void main(String[] args) {

        String s4 = new String("restful");

        String s5 = new String("restful");

        String s6 = new String("peaceful");

        String s7 = s4;

        String s8 = "restful";

        String s9 = "restful";

        

        System.out.println(s4.equals(s5)); // true (内容相同)

        System.out.println(s4.equals(s6)); // false (内容不同)

        System.out.println(s4 == s5); // false (不同对象)

        System.out.println(s4 == s7); // true (同一对象)

        System.out.println(s4 == s8); // false (s4是String对象,s8是字符串字面常量)

        System.out.println(s8 == s9); // true (字符串字面常量,同一引用)

    }

}

```


这段程序创建了一些String对象和字符串字面常量,并比较它们的内容和引用。上述输出注释了每个比较的结果。根据Java中字符串的工作方式,`==`比较的是引用,而`.equals()`比较的是内容。

 下面 JAVA 程式輸出是什麼?(10 分)

public class C4 {
public static void main(String[ ] args) {
Object obj1=new Object( ),obj2=new Object( ),obj3=obj1;
System.out.println(obj1.equals(obj2)+ " " +
obj1.equals(obj3));
}}

以下是提供的Java程序的输出:

```java
public class C4 {
    public static void main(String[] args) {
        Object obj1 = new Object();
        Object obj2 = new Object();
        Object obj3 = obj1;
        System.out.println(obj1.equals(obj2) + " " + obj1.equals(obj3));
    }
}
```

这段程序创建了三个`Object`对象,然后比较它们的相等性。`equals()`方法在`Object`类中默认实现,它使用的是引用相等性,即只有当两个引用指向相同的对象时才返回`true`,否则返回`false`。

在这个程序中,`obj1`和`obj2`是两个不同的`Object`对象,因此它们的`equals()`比较将返回`false`而`obj1`和`obj3`是引用相同的对象,因此它们的`equals()`比较将返回`true`。

因此,程序的输出将是:

```
false true
```

Comments

Popular posts from this blog

Format date as yyyy-mm-dd using vbscript

How to write data into a excel file using vbscript

android adb command usage