A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2019-4-10 18:24  /  2272 人查看  /  39 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String是引用数据类型,因为它们的值在创建后不能被更改。

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc"); 创建了两个对象,在堆内存中和常量池中。
       String s = "abc"; 创建了一个对象 在堆内存中的字符串常量池中。

3.StringBuilder的作用,为什么要使用StringBuilder
答:因为StringBuilder是可变的,所以可以更方便地对String字符串进行各种操作,提高效率和性能。
回复 使用道具 举报



1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型;因为String是常量

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

String s = new String("abc") 创建了2个对象,其中new String() 在堆内存中创建, "abc" 在堆

内存的常量区中的创建
String s = "abc" 在堆内存的常量区中创建了一个对象;

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder是一个可变的字符序列;
因为String在拼接字符串的时候,由于其长度不可变的特性,会不断的创建新对象导致性能的损失,而
StringBuilder是可变的字符序列,在拼接字符串时只会新建一个对象,极大的提高了性能,所以当需要

频繁的拼接字符串的时候使用StringBuilder
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:
引用数据类型。
因为字符串的底层是一个不可改变长度的数组。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
1、创建了两个对象,“abc”在常量池中,new String();在堆内存中。
2、创建了一个对象,“abc”在常量池中。

3.StringBuilder的作用,为什么要使用StringBuilder
答:
作用:形成一个可变的字符串。
在多个字符串拼接时使用StringBuilder可以提高性能。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型
字符串是常量,常量的长度不能改变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s=new String ("abc")创建了一个对象,String s 在栈内存中建立  在内存中建立了{a,b,c}
String s="abc" 创建了一个对象,在栈内存创建String s,在内存中建立一个字符串常量池“abc"

3.StringBuilder的作用,为什么要使用StringBuilder
对字符串进行拼接
因为它较于String来说它的长度是可变的,而且进行拼接操作自始至终都是一个对象,性能来说做拼接操作的时候性能较高
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

String是引用数据类型;String是引用数据类型

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

String s = new String("abc");
生成了2个对象,在堆内存生成一个、在常量池生成一个
String s = "abc";
在常量池生成1个对象




3.StringBuilder的作用,为什么要使用StringBuilder

StringBuilder是一个可变长度的字符串,用于存放经常需要进行拼接的字符串。
String是不可改变长度的,每次字符串拼接都需要消耗空间生成新的字符串,经常需要进行拼接的字符串使用StringBuilder效率更高。
回复 使用道具 举报

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用数据类型,底层是char数组,因此不可直接修改长度

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
   String s = new String("abc"); 创建了两个对象,在堆内存中和常量池中。
   String s = "abc"; 创建了一个对象 在堆内存中的字符串常量池中。

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder 主要作用是对字符串进行拼接;
        因为StringBuilder是一个可变的字符串,在进行字符串进行拼接操作时不会构建新的对象,省时省力省了内存空间。
回复 使用道具 举报
1:它们的值在创建后不能被更改所已它们的长度不可变。
   
   String类属于引用类型

2:一个对象,就是“abc”,在堆内存区域创建。

   一个对象,在字符串常量池中创建。
  
  
3:StringBuilder的作用:是一个长度可变的字符串每一次做字符串拼接,都会在原本对象之上做拼接,不会创建新的对象,提高程序的效率
因为它较于String来说它的长度是可变的,而且进行拼接操作自始至终都是一个对象,性能来说做拼接操作的时候性能较高。
回复 使用道具 举报
郑方灼 发表于 2019-4-10 21:49
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String是引用数据类型,因为 ...

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,因为字符串是常量,常量的长度不能改变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s=new String ("abc")创建了一个对象,String s 在栈内存中建立  在内存中建立了{a,b,c}
String s="abc" 创建了一个对象,在栈内存创建String s,在内存中建立一个字符串常量池“abc"

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder的作用:是一个长度可变的字符串每一次做字符串拼接,都会在原本对象之上做拼接,不会创建新的对象,提高程序的效率
因为它较于String来说它的长度是可变的,而且进行拼接操作自始至终都是一个对象,性能来说做拼接操作的时候性能较高。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用数据类型,底层是char数组,因此不可直接修改长度

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
   String s = new String("abc"); 创建了两个对象,在堆内存中和常量池中。
   String s = "abc"; 创建了一个对象 在堆内存中的字符串常量池中。

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder 主要作用是对字符串进行拼接;
        因为StringBuilder是一个可变的字符串,在进行字符串进行拼接操作时不会构建新的对象,省时省力省了内存空间。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型,字符串是常量;它们的值在创建之后不能更改。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
创建了一个对象,在堆内存中申请了一个内存存放“abc”,并在栈内存中定义个变量接收。

   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了一个对象,在堆内存中的字符串常量池中申请内存存放“abc”;并通过在栈内存中定义变量接收。

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder 主要作用是对字符串进行拼接。
当频繁的进行字符串的拼接时建议使用StringBuilder,因为使用String拼接会每次拼接都产生一个新的对象占用内存,
而StringBuilder在进行频繁拼接的时候占用内存较小。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
(1)引用数据类型
(2)因为字符串是常量

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)String s = new String("abc");2个对象 在堆内存和常量值中创建
(2)String s = "abc";1个对象 在常量值中创建

3.StringBuilder的作用,为什么要使用StringBuilder
(1)StringBuilder是一个可变的字符串类
(2)在频繁的拼接字符串的时候使用StringBuilder
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型;因为String是常量

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

String s = new String("abc") 创建了2个对象,其中new String() 在堆内存中创建, "abc" 在堆内存的常量区中的创建
String s = "abc" 在堆内存的常量区中创建了一个对象;

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder是一个可变的字符序列;
因为String在拼接字符串的时候,由于其长度不可变的特性,会不断的创建新对象导致性能的损失,而StringBuilder是可变的字符序列,在拼接字符串时只会新建一个对象,极大的提高了性能,所以当需要频繁的拼接字符串的时候使用StringBuilder;
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用
因为字符串的底层是byte数组,数组长度不可变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个对象,分别在堆内存和字符常量池里
String s = "abc";创建了一个对象,在堆内存字符常量池里创建

3.StringBuilder的作用,为什么要使用StringBuilder
创建一个可变字符串
频繁拼接,使用StringBuilder类,大大提高效率
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:
String类是引用数据类型
因为在String类创建对象时就已经决定了字符串的长度所以它的长度不可变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
(1)创建了两个对象,分别在堆内存中的常量池,new创建在堆内存的
(2)创建了1个对象,在堆内存中的常量池中创建

3.StringBuilder的作用,为什么要使用StringBuilder
答:
(1)作用是在字符串拼接时不会创建新的对象,提高程序效率
(2)在频繁的使用字符串拼接时如果使用string则会创建很多对象,但是使用StringBuilder则只会创建一个对象,大大的提高了程序的效率。
还有就是string的字符串长度不可变,StringBuilder的字符串长度可变。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:引用数据类型,
因为一旦创建,长度就不可改变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:2个,在堆内存中     
1个,在常量池中
3.StringBuilder的作用,为什么要使用StringBuilder
答:形成一个可变字符串
做拼接操作性能较高


____林聪全
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型,
String 创建一个字符串时回在字符常量池内创建一个地址值 如果字符串长度变化 字符串的地址值也将发生变化

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了一个对象,在堆内存中创建
没有创建对象,在常量池中创建

3.StringBuilder的作用,为什么要使用StringBuilder
在堆创建一个可以更改字符长度的字符串,不会创建新对象
做拼接操作时性能更高,提高运行效率
回复 使用道具 举报

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,因为字符串是常量,常量的长度不能改变

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s=new String ("abc")创建了一个对象,String s 在栈内存中建立  在内存中建立了{a,b,c}
String s="abc" 创建了一个对象,在栈内存创建String s,在内存中建立一个字符串常量池“abc"

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder的作用:是一个长度可变的字符串每一次做字符串拼接,都会在原本对象之上做拼接,不会创建新的对象,提高程序的效率
因为它较于String来说它的长度是可变的,而且进行拼接操作自始至终都是一个对象,性能来说做拼接操作的时候性能较高。
回复 使用道具 举报
王卓立 发表于 2019-4-10 21:32
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用数据类型,底层是char数组,因 ...

收到,多谢指正
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用数据类型,底层是char数组,因此不可直接修改长度

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
   String s = new String("abc"); 创建了两个对象,在堆内存中和常量池中。
   String s = "abc"; 创建了一个对象 在堆内存中的字符串常量池中。

3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder 主要作用是对字符串进行拼接;
        因为StringBuilder是一个可变的字符串,在进行字符串进行拼接操作时不会构建新的对象,省时省力省了内存空间。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马