社区
Java EE
帖子详情
提问:String a = "ABCd"; 和 String a = new String("ABCd");这两种方式的区别到底在什么地方啊?
diaoxm
2003-05-14 07:04:38
问题如标题!
...全文
105
12
打赏
收藏
提问:String a = "ABCd"; 和 String a = new String("ABCd");这两种方式的区别到底在什么地方啊?
问题如标题!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diaoxm
2003-05-15
打赏
举报
回复
Up,Up,谁告诉我为什么不能结贴??要不我又会被扣分:(
diaoxm
2003-05-15
打赏
举报
回复
我结贴,系统为什么这样提示:??????
0,8,0,2,0,0,0,10,0
贴子回复次数大于跟给分次数
shengzi_78
2003-05-15
打赏
举报
回复
没有不同,两个类,原理一样,就像royalier(皇家)说的
diaoxm
2003-05-15
打赏
举报
回复
哦,基本上明白了!准备结贴,谢谢大家!^_^
shkwh
2003-05-15
打赏
举报
回复
提问:String a = "ABCd"; 和 String a = new String("ABCd");这两种方式的区别到底在什么地方啊?
jvm中定义了一个字符串池,里面放的是一些字符串,这样就不用每次都生成对象
String a = "ABCd";将"ABCd"放入池中,不用再开辟内存空间.
如果String b = "ABCd";则a==b;
String a = new String("ABCd");还要开辟内存空间.
如果String b = new String("ABCd");则a!=b
diaoxm
2003-05-15
打赏
举报
回复
String也是一个类啊,Entity也是一个类啊。里面处理有什么不同啊?
旋转的魔方
2003-05-15
打赏
举报
回复
String 是个类型,可以不实例化; Entity 是个对象,不实例化不能用。
diaoxm
2003-05-15
打赏
举报
回复
继续问一个问题,我觉得和这个问题类似:
比如:
Entity entity = new Entity();
for(i=1;i<10;i++){
entity.id = i;
vector.add(entity);
}
这样放进去的vector里面的对象就全部都是相同的对象。
但是如果把Entity换成String的话,这个问题就不会存在了。
String test="";
for(int j=1;j<10;j++){
test = "abcd"+j;
vector.add(test);
}
如此则vector里面存放的每一个String都是不同的。
String类和其他类的处理有什么不同啊??
liangxf0022
2003-05-14
打赏
举报
回复
up, 有没有执行上的问题,象equals/clone方面的区别?
jeston
2003-05-14
打赏
举报
回复
up
royalier
2003-05-14
打赏
举报
回复
这是java的基础知识,这两者是不相同的。
第一个a在程序运行的过程中,是永远占用一块相同的内存,且内容是一样的。给a重新赋值的时候只会让a指向另一个地方。
而第二个就是动态分配内存的,
diaoxm
2003-05-14
打赏
举报
回复
up,怎么没人帮我?:(
java面试题:
new
String
(“abc“)创建几个对象;
String
a=“
abcd
“,
String
b=
new
String
(“
abcd
“),
String
c=“ab“+“cd“
区别
java面试题:
new
String
(“abc“)创建几个对象;
String
a=“
abcd
“,
String
b=
new
String
(“
abcd
“),
String
c=“ab“+“cd“
区别
java s1=abc s2=abc s1==s2_经典问题:
String
s1 = "abc" 与
String
s2 =
new
String
("abc")的
区别
...
这是以前刚学Java那会经常被问到的问题,并且也会经常出现在面试中。这个问题不仅仅只局限于Java,可以适用于其他大部分语言,正好最近有个小朋友在学编程,特此整理一下。
String
s1 = "abc" ;
String
s2 =
new
String
("abc");首先,我们先看看以上两句分别做了什么?
String
s1 = "abc" 做了什么在栈中创建了一个名为 s1 的变量(引用)如果 ...
String
a =
new
String
(“abc“); 创建了几个对象?
String
a = “abc“; 呢?
可以看到
String
类的equals方法**先比较两个对象的引用地址,此时运用了 == 的关系运算符。如果两个对象的引用地址不同,会比较字符串中的每个字符是否相同,全部相同则返回true,否则返回false。编译器通过语法分析,会将常量表达式计算求值,并用求出的值来替换表达式,而不必等到运行期间再进行运算处理,从而在运行期间节省处理器资源。所以上面的语句在运行期就等同于
String
a = “
abcd
”;通过之前的几个问题可知变量a、b、c的引用地址相同。故a == b和a == c的结果为true。
java中
String
与
new
String
的
区别
String
类:表示不可改变的字符串,当前对象创建完毕之后,该对象的内容(字符序列)是不能改变的,一旦内容改变就是一个新的对象。
String
对象的创建: 1):直接赋一个字面量:
String
str1 = “
ABCD
”; 2):通过构造器构造:
String
str =
new
String
(“
ABCD
”); 面试题1:
两种
方式
有什么
区别
,分别在内存中...
String
a="ab" 与
String
a =
new
String
("ab");的
区别
// ==与equals的
区别
: // ==: // 1、比较的是操作符两端的操作数是否是同一个对象 // 2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。 // 3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为TRUE,如: // int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章