www问答网
所有问题
JAVA中, String = "a" + "b" + "c"; 请问一个生成了几个对象?
如题所述
举报该问题
其他回答
第1个回答 2024-02-26
String s = "a" + "b" + "c" 这样直接几个字面值相加的,java文件在编译期间就已经将这条语句做了优化,将其直接变成 "abc",等到运行的时候会先去字符串常量池中寻找有没有“abc”这个字符串,若有,则将其地址给 s;若没有,则先在字符串常量池里创建“abc”,然后再把地址给s
因此,如果程序内此条语句之前已经创建了 "abc"对象,那么此条语句生成0个对象,如果之前没有"abc"对象,则创建一个对象。
相似回答
java中String
str
=
"a
,b,c
"如何把它输出为"a","b","c"
答:
public static void main(
String
[] args) { String s = "a
,b,
c";char [] arr = s.toCharArray();//s.split(",");for (int i = 0; i < arr.length; i++) { char a = arr[i];if(!",".equals(...
假如我有这样
一个
字符串
String
A
=
"A
B
C
"我要怎样利用ABC中间的空格...
答:
操作:String s="
java
Application";int len=s.length();//返回串s长度;char c=s.charAt(3);//返回串s下标为3的字符;int n1=s.indexOf('a');//返回s中第一个a字符的下标;int n2=s.indexOf("va");//...
java
请教大神问题:
String
str
=
"a
,b,c
"; 这里的abc在初始化的时候放在了...
答:
String[] a = {"a"}
;String
[]
b
=
new String[]{"a"};String
c
= "a";String d = new String("a");String[] e = new String[]{new String("a")};System.out.println(a[0]==c);//trueSystem.ou...
在
java中,String
a="a"
;String
b=
"a";产生了几个对象???
答:
String a=
"a" 可能创建一个对象或者不创建对象,如果"a"这个字符串在
java String
池里不存在,会在java String池创建这个一个String对象("a").如果已经存在,a直接reference to 这个String池里的对象。String str1 = new...
请问JAVA中
string
s
=
"a"+"b"+"
c
"; 是怎么分配存储单元的?
答:
public static void main(String [] args){ String str1="a"+"b"+"c"
;String
str2="a
b
c";if(str
1=
=str2)System.out.println("equal");else System.out.println("not equal");} } 输出结果:equal 这说明...
Java 中String
a
=
"a
b
c"和String a = new
string
("abc")
答:
new
String
("abc")这种是new了一个Object,abc是被储存在其内部的值,“=”把指针赋给a
,b,
但是a,b指向的是不同的对象,所以返回值是false 大概是这种关系:即a b指向不同的对象 ...
JAVA 中,
假如有如下一段代码,
String
a
=
"
B
" + "C" + "D"
;
请问
这个...
答:
根据显示声明,会创建字符串a和
B,C,
D三个String对象 之后,编译器自动创建
一个String
Buffer对象来拼接这三个字符 拼接完成后,编译器调用StringBuffer的toString方法
,生成一个
新String对象 最后把这个新对象作为值赋给a 整个...
String
a
=
"a"; String b ="b"; String
c
= a+
b;
System.out.println...
答:
“ab”是新的匿名对象,所以返回的是false。
java中==
比较的是变量的地址,就好像C中的指针,指针地址一样就返回true的,你这是两个不同的
String
对象,肯定地址不同了。如果要比较内容就用equals方法。
java
小问题。。
中String
a
=
“a”+"b"+"c"+"d".是创建了几个对象...
答:
因为"a","
b
","c","d"都是常量,所以在编译期就可以确定a的值,这句话等价于:
String
a= "abcd";在编译期会首先在常量池里找有没有"abcd"这个常量,没有的话就分配
一个,
所以这里就创建了一个对象,并没有在堆...
大家正在搜
quotient
a+b+c=1
cliequot
quotin
a>b?a:b
a/(b+c)=
(a+b+c)³
"
liquor