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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


今天我们进入到了就业班,来看看就业班第一天我们都需要掌握哪些内容

1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
2.我们为什么要重写equals()方法?
3.==和equals()的区别?
4.String和StringBuilder的区别?
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?

42 个回复

倒序浏览
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
  Object的默认toString是打印地址,有些类重写了toString方法,所以可以打印对象内容
  在打印对象时会调用toString()方法

2.我们为什么要重写equals()方法?
  因为Object的默认equals()方法是比较两个对象的地址值,在现实生活中没有意义

3.==和equals()的区别?
  ==对基本数据类型是比较值,对引用类型是比较地址,equals (  ) 比较的是对象地址或对象的内容


4.String和StringBuilder的区别?
  String在拼接时要创建很多新地址,浪费内存,StringBuilder在内存中只占用一个地址,内存利用率和效率高
  String是引用数据类型,StringBuilder是另一个类,两者的方法不一样


5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
  包装类是对基本数据类型进行打包的类,是引用数据类型,当在进行包装类和对应的基本数据类型的运算时,根据情况会自动装箱和拆箱


回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?  toString方法是基类object的方法,如果子类不重写toString方法默认打印的是地址, 对象在调用print方法,货值直接diaoytoString的时候回调用toString方法.
2.我们为什么要重写equals()方法?
  因为默认的equals方法并不能拿到对象的具体值,所以在判断对象的值是否相等时可更加需求重写equals方法
3.==和equals()的区别?
== 时在比较地址值
  equals时比较内容

4.String和StringBuilder的区别?
String 的底层是一个被final修饰的字符数组,所以创建后无法更改
StringBuilder 的底层是一个默认大小为16的字符数组,的缓存数组,可以随时更改起大小.

5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?

  包装类是指,把一些基本数据包装成对应的引用数据类型,使得普通的基本类型可以调用包装类的方法,
  自动装箱时jdk1.5后添加的新特性,自动装箱时可以吧基本数据类型直接转换成对应的包装类,
  自动拆箱时值基本数据类型对应的包装类可以直接被对应的基本数据类型可接受.
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
因为没有重写的toString 方法属于object类,打印的是对像的地址值.而有些方法重写了能打印出对像内容的toString方法,打印的当然是对像.在打印的时候会调用toString()方法.
2.我们为什么要重写equals()方法?
因为没有重写的equals方法对比的是两个对像的地址值,没有意义
3.==和equals()的区别?
==是比较运算符,是用于比较基本数据类型的.尔equals比较的是两个对像的内容(有重写equals());
4.String和StringBuilder的区别?
1)类型不同
2)String不能改变长度,.而StringBuilder可以根据需求进行改变长度
3)在运算中StringBuilder跟有效率
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
基本数据类型的对象版,就是包装类.包装类可以创建对像用于调用数据,而基本数据类型不行.
自动装箱:就是将基本数据提升为相应的包装类.自动拆箱:就是将包装类转化为对应的基本数据类型

--------------------------吴齐宾






回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印地址值和对象内容是因为没有覆盖重写,当对象想要返还对象信息可以调用被重写的toString
2.我们为什么要重写equals()方法?
不重写的话比较的是地址值,并不是对象内容
3.==和equals()的区别?
==比较地址值,被重写的equals比较的是对象内容
4.String和StringBuilder的区别?
就是占用内存的关系。当拼接的字符串多了。用StringBuilder可以优化节省内存。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
就是基本类型被打包成对应的类- -。
一个是基本类型数据,一个是类。
就是自动转换,从对应的包装类转换成基本数据类型或者反过来。
回复 使用道具 举报
1.因为有的类重写了toString方法可以打印出对象内容,没重写的打印的是地址值,在打印输出对象名时会默认使用toString方法
2.因为没有重写的方法比较的是两个对象的地址值,没意义。
3.一个是比较运算符,一个是方法。 equals可以比较两个对象的具体内容。
4.类名不同,String不能改变长度,StringBuider长度可变的字符串缓冲区,可用于字符串拼接
5.包装类可用于创建对象,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类。基本数据类型值自动提升为包装类叫做装箱,包装类自动转换为基本数据类型值叫做拆箱。

回复 使用道具 举报
本帖最后由 黄艺纯 于 2018-8-11 21:15 编辑

1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印输出的时候调用了对象的toString方法。toString是Object类的方法,Object类是所有类的父类,其toString方法是打印对象的引用,若是内容,则是该类覆盖了该方法。
打印输出对象的时候。

2.我们为什么要重写equals()方法?
因为equals()是Object的方法,原方法是对两个对象的引用进行比较,没有意义。所以我们要将其覆盖成对内容的比较。

3.==和equals()的区别?
引用的比较;
内容的比较。

4.String和StringBuilder的区别?
String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响。
StringBuilder又称为可变字符序列,是JDK5.0中新增加的一个类,它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。即它是一个容器,容器中可以装很多字符串,并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容,StringBuilder会自动维护数组的扩容。

5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类:基本数据类型对应的引用类型。
区别:1.默认值;
      2.存储位置;
      3.多出方法的操作。
自动装箱,自动创建对象,省去创建对象的操作。
自动拆箱,自动将包装类型转换为基本数据类型。
回复 使用道具 举报
陈建秋
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?Object类是所有类的父类,所有的对象都继承了它的toString方法。如果这个子类没有重写toString方法那么默认就是输出地址值;如果重写了toString方法,那么就会输出
重写方法里写的内容;当对象在输出方法里输出时,会自动调用toString方法。
2.我们为什么要重写equals()方法?
每个类都继承了equals方法,如果不重写的话默认是进行地址值比较没什么用处,重写之后可以比较自定义的内容。
3.==和equals()的区别?
==进行的是地址值比较,equals比较的内容,是equals方法里的内容。
4.String和StringBuilder的区别?
String 类的底层为final修饰的byte数组,内容不可变,当进行字符拼接时会new出多个对象,占用内存。
StringBulider 的底层,是可变数组,当进行字符拼接的时候,它会自动维护数组的长度,在数组内完成操作不用再创建新对象,所以提高了效率。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类就是把基本类型的数据封装在一个类中;包装类是一个引用类型,它拥有自己的方法,可以在泛型中声明;
自动装箱,就是把基本数据类型转化为包装类对象。
自动拆箱,就是把包装类对象转化为基本数据类型。
回复 使用道具 举报
1.所有的类都是Object的子类,都会继承Object中的tostring方法,而没有改写的此方法打印对象名时候是打印对象的地址值,有些类的对象打印却是内容的原因是这个类有重写了tostring方法,当在打印输出对象的时候都默认调用类中的tostring方法
2.当没有重写equals方法时候,对象调用此方法对比的是对象的地址值是否相同,没有意义
3.==比较是基本数据类型的值的大小和对象的地址是否相等,equals方法重写后可以比较对象的内容是否相同
4.tringBuilder  一个可变的字符序列,用在字符串缓冲区。
String类 是一个字符串类,底层是字节数组,每一个字符串创建后对应的底层字节数组的长度不能改变。
5.包装类是把基本数据类型包装一个类,可以作为引用类型来使用基本数据,是一个引用数据类型,当王包装类中添加基本数据类型,或者直接获取包装类中的内容赋值给基本数据类型时,不会发生数据类型不同的错误,此时,是发生了自动装箱和自动拆箱。
               
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?当对象重写了toString()方法的时候打印得是对象内容,否则打印得是地址值。对象在打印语句中会调用toString()方法;
2.我们为什么要重写equals()方法?
如果不重写equals()那么效果和 == 是一样的只能比较地址值,重写后可以比较内容。
3.==和equals()的区别?
==比较的是地址值,equals()比较的是内容。
4.String和StringBuilder的区别?
String 一旦创建长度不可改变,每次拼接都会创建新的对象,StringBuilder可改变长度和内容,是一个缓冲区。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?

包装类:把基本数据类型放到一个类中,以供使用称为包装类,
区别:包装类可以创建对象来使用
自动装箱:基本数据类型自动转化为包装类
自动拆箱:包装类自动转化为基本数据类型
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?如果对象对应的类及其父类没有重写toString方法,则打印的是地址值
若有重写toString方法,则打印的是对象内容
通过对象调用toString方法时 以及对象在被打印时会默认隐含调用了toString方法
2.我们为什么要重写equals()方法?
因为自定义的类,系统无法判断通过哪些属性判断是否相同,这时候就需要重写equals()方法,给系统判断定义是否相同的标准
3.==和equals()的区别?
==比较的是两个对象的地址值是否相同,equals()比较的是两个对象的内容是否相同。
4.String和StringBuilder的区别?
一、String创建的是字符串对象,StringBuilder创建的是是一个字符串缓存区
二、String创建的字符串的内容长度是不可改变,StringBuilder创建的字符串缓冲区长度和内容都是可以改变的。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?


包装类是对基本数据类型的包装,将其包装成引用类型
包装类型属于引用类型,不属于基本数据类型
自动装箱:自动将基本数据类型转换成对应的包装类(引用数据类型)
自动拆箱:自动将包装类(引用数据类型)转换成对应的基本数据类型

杨式贤

回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
Object 的toString方法返回的是地址值,所以打印出来是地址,覆盖重写后的toString后返回的是值,打印出来的就是内容;
在打印输出对象的时候都会调用到toString()方法;

2.我们为什么要重写equals()方法?

在Object中equals方法在java中比较的是地址哈希值,而我们比较对象时都是比较内容,此时的equals方法没有意义,所以重写用来比较内容
3.==和equals()的区别?
==在比较基本数据时比较的是值,引用数据类型的时候比较地址值
equals比较的是地址值,可以进行覆盖重写比较内容;
4.String和StringBuilder的区别?
String的底层被final修饰,是一个常量不可修改,每次拼接都会产生新的字符串,占内存,效率低;
StringBuilder  底层也是字符数组,没有被final修饰,长度可变,操作效率高;
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类是值基本数据类封装的类,一个是基本数据类型一个是引用数据类型;
装箱:从基本类型转换为对应的包装类对象。
拆箱:从包装类对象转换为对应的基本类型。
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
Object类时所有类的父类,直接打印对象名,默认是地址值,除非对象中的toSting()方法被改写,才会显示对象内容。
直接打印对象名时就会调用toString()方法。

2.我们为什么要重写equals()方法?
equals直接使用时默认是比较两个对象的地址值,没有意义。实际情况中我们更多想要的是比较对象的内容,因而要对equals()方法进行重写。

3.==和equals()的区别?
==比较基本数据类型是比较具体值,引用数据时是比较两个对象的地址值。
equals()方法没有覆盖重写时默认比较两个对象的地址值,当进行覆盖重写时可以比较两个对象的具体内容是否相同。

4.String和StringBuilder的区别?
String是字符串常量,一旦创建,字符串内容不可改变。进行字符串拼接时会创建一个新的内存空间,如果经常改变字符串内容,最好不用String,会对性能造成影响;
StringBuilder又称为可变字符序列,是JDK5.0以后新增的类,它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。即它是一个容器,容器中可以装很多字符串,并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容,StringBuilder会自动维护数组的扩容。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类时把基本数据类型包装起来,在类中定义一些方法,因而包装类相当于是引用数据类型,可以使用其中的方法;基本数据类型则不能直接引用方法。
自动装箱是指在使用基本数据类型的数据时会自动转换为包装类,而不用特殊操作(JDK5.0以后)。
自动拆箱是指在使用包装类的数据时会自动转换为基本数据类型,而不用特殊操作(JDK5.0以后)。

回复 使用道具 举报
邹毅涛

1.为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印对象时,输出为地址值时,是因为toString方法为Object类方法,没有覆盖重写,是对象内容即是重写了toString方法。直接打印对象名称时,会隐式调用toString方法。
2.我们为什么要重写equals()方法?
Object类equals方法是比较对象的地址值,对对象类型没有限制,重写equals方法可以更完善代码,让两个对象在相比的时候类型一致且不为空。
3.==和equals()的区别?
==在基本数据类型中比较的是值,在引用数据类型比较的是地址值。
equals不能比较基本数据类型,如果要比较数据类型需要使用包装类。Object类中的equals方法不会报空指针异常。
4.String和StringBuilder的区别?
String在底层被final修饰的长度不可变数组。String字符串不可变。StringBuider是长度可变的数组。StringBuider效率高。如果超出容量会自动扩容。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类是为了解决基本数据类型不能够被直接操作而将其包装成对象。与八个基本数据类型想对应。自动拆箱与自动装箱是基本数据类型可以直接互相转换。
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
如果toString方法没有被覆盖重写打印的就是地址值,如果被覆盖重写打印的就是覆盖重写中返回值
2.我们为什么要重写equals()方法?
因为Object中的equals方法对比的是地址值,所以需要覆盖重写
3.==和equals()的区别?
==如果比较的是基本数据类型,那么比较的是存储的值是否相等
如果比较的是引用数据类型,比较的是地址值
equals比较的是地址值,如果被重写比较的是内容
不能比较基本数据类型
4.String和StringBuilder的区别?
String创建的字符串不能改变
StringBuilder类似于String的缓冲区,可以对字符串进行操作
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类可以调用方法对基本数据类型进行操作
基本数据类型没有方法课调用
自动将基本数据类型转化为包装类对象
自动将包装类对象转化为基本数据类型
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
Object 的toString方法返回的是地址值,所以打印出来是地址,覆盖重写后的toString后返回的是值,打印出来的就是内容;
在打印输出对象的时候都会调用到toString()方法;

2.我们为什么要重写equals()方法?

在Object中equals方法在java中比较的是地址哈希值,而我们比较对象时都是比较内容,此时的equals方法没有意义,所以重写用来比较内容
3.==和equals()的区别?
==在比较基本数据时比较的是值,引用数据类型的时候比较地址值
equals比较的是地址值,可以进行覆盖重写比较内容;
4.String和StringBuilder的区别?
String的底层被final修饰,是一个常量不可修改,每次拼接都会产生新的字符串,占内存,效率低;
StringBuilder  底层也是字符数组,没有被final修饰,长度可变,操作效率高;
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类是值基本数据类封装的类,一个是基本数据类型一个是引用数据类型;
装箱:从基本类型转换为对应的包装类对象。
拆箱:从包装类对象转换为对应的基本类型。
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印对象在没有重写toString方法是比较的都是地址值,比较说明了封装里重写了toString。在打印对象时会调用toString()方法
2.我们为什么要重写equals()方法?
不重写equals()方法比较的是地址值。
3.==和equals()的区别?
==比较的是内容,equals()比较的是对象地址值(除非重写)。
4.String和StringBuilder的区别?
String在字符串常量区,是内容不可变的,拼接后需要新建对象地址。StringBuilder长度可变。效率更高
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类:把基本数据类型放到一个类中,以供使用称为包装类,
区别:包装类可以创建对象来使用
自动装箱:基本数据类型自动转化为包装类
自动拆箱:包装类自动转化为基本数据类型
回复 使用道具 举报
1.在打印对象时会调用toString()方法,打印对象默认调用Object中的toString()方法,toString()方法默认打印地址值,如果对toString()方法进行重写就可以打印对象内容。
2因为Object中默认比较两个对象的地址值只要对象不同结果一定为false。
3==可以进行基本数据类型的比较equals()则是只能进行引用数据类型比较。
4.StringBuild构建一个单一数组存放所有字符串,可以减少字符串拼接时所占用的内存
5.包装类可以对对应的基本数据类型进行包装扩展了基本类型的操作性。包装类是引用类型。自动装箱就是自动把基本类型包装成对应的包装类,自动拆箱就是在需要应用基本类型时自动把包装类转换成对应的基本类型数据。
周楠
回复 使用道具 举报
郭林源
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?--->基本数据类型打印的是内容,引用数据类型如果引用对象未对toString()方法进行重写,则打印的是地址值,重写后打印的是内容。打印对象时会调用toString方法
2.我们为什么要重写equals()方法?--》如果未重写equals方法,比较的是地址值,现实中无意义,重写后可比较内容
3.==和equals()的区别?--》比较基本数据类型时,都一样,比较引用数据类型时,重写equals方法可比较内容
4.String和StringBuilder的区别?--》拼接字符串时,StringBuilder在类中拼接,不占内存,速度较快,String则会生成新的几个数组
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?--》包装类就是集成了一些基本数据类型,并有方法可管理的类。自动装箱就是基本数据类型转换成引用数据类型,自动拆箱就是引用数据类型转换成基本数据类型
回复 使用道具 举报
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
Object 的toString方法返回的是地址值,所以打印出来是地址,覆盖重写后的toString后返回的是值,打印出来的就是内容;
在打印输出对象的时候都会调用到toString()方法;

2.我们为什么要重写equals()方法?

在Object中equals方法在java中比较的是地址哈希值,而我们比较对象时都是比较内容,此时的equals方法没有意义,所以重写用来比较内容
3.==和equals()的区别?
==在比较基本数据时比较的是值,引用数据类型的时候比较地址值
equals比较的是地址值,可以进行覆盖重写比较内容;
4.String和StringBuilder的区别?
String的底层被final修饰,是一个常量不可修改,每次拼接都会产生新的字符串,占内存,效率低;
StringBuilder  底层也是字符数组,没有被final修饰,长度可变,操作效率高;
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类是值基本数据类封装的类,一个是基本数据类型一个是引用数据类型;
装箱:从基本类型转换为对应的包装类对象。
拆箱:从包装类对象转换为对应的基本类型。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马