相关疑难解决方法(0)

617
推荐指数
11
解决办法
57万
查看次数

Java中==和equals()之间有什么区别?

我想澄清一下我是否理解正确:

  • == - >是参考比较,即两个对象都指向相同的内存位置
  • .equals() - >计算对象中值的比较

我的理解是正确的吗?

java identity equality object-comparison

592
推荐指数
12
解决办法
62万
查看次数

Java中变量的内存地址

请看下面的图片.当我们用java创建一个带有new关键字的对象时,我们从OS获取一个内存地址.

当我们写作时,new我们可以看到一个"特殊"字符串作为输出.我的问题是:

  1. 这个输出是什么?
  2. 如果是操作系统给我们的内存地址:

    a)如何将此字符串转换为二进制?

    b)如何获得一个整数变量地址?

替代文字

java jvm memory-management hashcode memory-address

128
推荐指数
5
解决办法
13万
查看次数

如何在java中获取对象的内存位置?

我想知道JVM分配给放置在系统内存中的对象的位置.

java memory-management object

27
推荐指数
2
解决办法
3万
查看次数

打印字符串实例的地址

package com.testProject;
public class JavaSample {

    public static void main(String[] args) {

        String myString1 = new String("Sample1");
        System.out.println(myString1);
        String myString2 = new String("Sample2");
        System.out.println(myString2);
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中如何打印我创建的"Sample1"和"Sample2"这些字符串的地址,我需要打印String对象myString1和myString2的内存位置

java string

19
推荐指数
4
解决办法
4万
查看次数

以下声明中的差异

我无法识别以下Java中的字符串声明的区别.

假设我有两个字符串

String str1="one";
String str2="two";
Run Code Online (Sandbox Code Playgroud)

有什么区别

String str3=new String(str1+str2);
Run Code Online (Sandbox Code Playgroud)

String str3=str1+str2;
Run Code Online (Sandbox Code Playgroud)

在上述两个声明中,内容都str3将是onetwo.

假设我创建了一个新字符串

String str4="onetwo";
Run Code Online (Sandbox Code Playgroud)

然后,在上述声明中,

if(str4==str3) {
    System.out.println("This is not executed");
}
Run Code Online (Sandbox Code Playgroud)

为什么str3str4不是指同一个对象?

java string declaration string-concatenation

0
推荐指数
1
解决办法
57
查看次数