我知道这可能是很基本的,可能很简单,但是我无法清楚地了解在这种情况下会发生什么,所以就来了。
在下面的代码中:
String str1 = "Hello";
String str2 = "World";
String str3 = new String("HelloWorld");
String str4 = str1 + str2;
我知道,str1和str2的将分别创建一个对象的“Hello”和“世界” 里* 的 字符串常量池的 。对于str3,在 字符串html" target="_blank">常量池
外部 创建一个新对象,该对象指向 在 字符串常量池 内部 创建的“ HelloWorld” 。 __
*__
我的问题是,如果我concat 2个或更多字符串( 使用’+’或concat()方法 )会发生什么?
将一个新的对象被创建 外 泳池中的情况下,就像 串STR3 或直接在对象的“HelloWorld” STR4点 内 的
字符串常量池的
PS:而且, 如果 情况类似于在池 外 创建新对象,那么不使用 new 关键字怎么办呢?
首先,String s = new String("abs");
它将创建两个对象,一个在池区域中的对象,另一个在非池区域中的对象,因为您将使用new和字符串文字作为参数。
String str1 = "Hello";
String str2 = "World";
String str3 = new String("HelloWorld");
String str4 = str1 + str2;
到现在为止,您有五个String对象,其中四个在String Constant Pool中,另一个在Heap中。因此,您的str4完全是String
Pool中的一个新对象,请同时检查以下代码,
String str5="HelloWorld"; //This line will create one more String Constant Pool object because we are using the variable name as str5.
String str6="HelloWorld";////This line will not create any object, this will refer the same object str5.
进行测试
System.out.println(str3==str4); //false
System.out.println(str4==str5);//false
System.out.println(str5==str6);//true
我知道这可能是非常基本的,也可能是非常直接的,但我无法清楚地理解在这种情况下会发生什么,所以,就这样吧。 在以下代码中: 我知道str1和str2将在字符串常量池中分别创建一个对象“Hello”和“World”。而对于str3,将在字符串常量池外部创建一个新对象,该对象指向在字符串常量池内部创建的“HelloWorld”。 我的问题是,如果我concat 2个或更多字符串(使用“”或concat(
问题内容: 我们可以在PHP中使用对象运算符的不同方式有哪些? 问题答案: PHP有两个对象运算符。 如果要在实例上调用方法或访问实例属性,则使用第一个。 当您要调用方法,访问变量或在子类中调用方法的父类版本时,使用第二个。
问题内容: 我看到过这样创建的对象: 但是我认为创建对象时括号不是可选的: 创建对象的前一种方法在ECMAScript标准中是否有效并定义?前一种创建对象的方式与后一种创建方式之间有什么区别吗?是一个比另一个更好的选择吗? 问题答案: 引用David Flanagan 1: 作为一种特殊情况,仅对于运算符,JavaScript通过在函数调用中没有参数的情况下允许省略括号来简化语法。以下是使用运算符
这里将创建两个对象,一个在堆内存中,另一个在字符串池中。 那么,方法有什么用呢?执行上述语句后,字符串将在堆和字符串池中可用
在Java当我们写作的时候 然后与进行比较,我们得到true作为布尔结果。对相同的解释是字符串常量是在字符串池中创建的,因此这里由S1和s2引用的字符串常量是相同的。还有,如果我们写一些 然后与,我们得到false。原因是S1和S2的引用不同,因为字符串文字是在堆中创建的。 我的问题是,在构造函数中传递的字符串文字“TestString”是在哪里创建的?它与字符串文字/常量相同吗?因此应该在池中创
有可能使用@Configurable类那 我知道用@Autowired和@Resource等是可能的...还有其他的吗? 如。 然后像这样 除了能够使用<code>new</code>操作符创建<code>MyObj</code>并仍然让spring处理注释之外,还有其他选择吗? ——编辑: 在使用@Autowired时,可以使用来做到这一点,看看一些带有Spring和AOP的Hibernate和