关于 String 对象的初始化

发布于 科技 2024-05-11
7个回答
  1. 匿名用户2024-01-28

    string a=new string("abc");

    string b="abc";

    你可以给上面的**。 第一个是假的,第二个是真的。

    关键在于“==”和等于方法,一个比较对象,另一个比较引用。

    “比较是参考,上面的 a 和 b 在哪里(它们在堆栈中的位置),它们在堆栈中的位置肯定不同,所以返回值是假的

    但是“equals”方法不同,它比较对象,也就是 A 和 B 指向的堆的内容,你应该知道它们在堆中的值是一样的,都是“abc”,所以他的返回值是真的。

    我刚才看了最后一个人,他说一个存放在堆里,一个存放在堆里,这个问题我不太清楚,刚才我也问过一个人,他说是在堆里。 我也这么认为,只有那 8 个原始类型存储在堆栈中,而字符串没有,所以我认为它存储在堆中。

  2. 匿名用户2024-01-27

    首先,第一句话 string a=new string("abc");首先,查看内存中称为字符串池的位置,看看它是否存在"abc"如果没有,请在字符串池中创建一个,然后将其复制到堆中,并将 A 指向堆中的字符串"abc"。

    string b="abc";像这样,如果你直接用 = 符号初始化它,你只需去字符串池看看是否有"abc"如果有 b,则此字符串指向字符串池"abc"。现在,您已将其保存在字符串池中"abc",所以 b 指向"abc""abc",刚才有人说 a 指向堆中的那个"abc"所以; 输出为 false,(== 比较地址,A 和 B 指向不同的地址)。

    你明白吗?

  3. 匿名用户2024-01-26

    string a=new string("abc");创建 2 个对象。

    string b="abc";创建对象。

    abc"在内存中字符串池中,并且您的新字符串 ("abc") 是一个对象,不存储在字符串池中。

    另一个例子。 string c = new string("ab");

    string d = new string("ab");

    /false

  4. 匿名用户2024-01-25

    使用字符串 b="abc";将 abc 存储在堆栈中,string a=new string("abc");

    ABC存放在堆中。

  5. 匿名用户2024-01-24

    创建了两个不同的对象,并且“==”不相等。

  6. 匿名用户2024-01-23

    首先是静态的,然后是成员,然后是构造。

  7. 匿名用户2024-01-22

    如果你不需要它,它根本不会被加载到内存中,并且无法初始化!

    我想不出任何在编译器中初始化的语言......

相关回答
13个回答2024-05-11

田震:你好! 盯着大便看。

上网二十年,看到这么有礼貌的网友,真是太好了。 但如果它不是电子邮件,它就不需要那么正式。 此外,上网时要特别注意保护隐私,不要泄露个人信息(尤其是姓名、**、身份证号码),一般使用昵称。 >>>More

12个回答2024-05-11

1)如果已经安装了搜狗输入法卸载试试,也可以卸载试购法并尝试重装(这些软件是罪魁祸首,从与返回者的交流中就知道了。 如昌裂开烧果子这里不是问题,见以下方法)。 >>>More

6个回答2024-05-11

静态成员初始化只能在类外部全局完成,不能在类中完成。 >>>More

10个回答2024-05-11

监视器黑屏解决方法:

1.如果长时间不使用显示器,显示器会自动进入睡眠节能模式,屏幕会变黑。 >>>More

17个回答2024-05-11

这通常是由软件引起的,比如什么样的病毒感染,系统文件没有被删除等等。 >>>More