• java八股文_1


    String与StringBuffer的区别
    String与StringBuffer的区别简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被 修改,重新赋值其实是两个对象。

    int 和integer的区别
    数据类型不同:int 是基础数据类型,而 Integer 是包装数据类型;
    默认值不同:int 的默认值是 0,而 Integer 的默认值是 null;
    内存中存储的方式不同:int 在内存中直接存储的是数据值,而 Integer 实际存储的是对象引用,当 new 一个 Integer 时实际上是生成一个 指针指向此对象;
    实例化方式不同:Integer 必须实例化才可以使用,而 int 不需要;
    变量的比较方式不同:int 可以使用 == 来对比两个变量是否相等,而 Integer 一定要使用 equals 来比较两个变量是否相等。

    Array和ArrayList的区别?分别是什么时候用
    Array的长度在定义后是不可改变的,如果这时候我们需要在数组中添加其他的元素的时候,就必须要新建一个数组且数组长度比原数组长度多一,然后再把数组中的内容复制到新数组中,最后再根据下标添加需要的内容。
    ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。并且,每次添加新数组的时候都会自动检查数组中的空间是否足够
    Array可以包含基本类型和对象类型
    ArrayList只能包含对象类型
    需要注意的一点是,Array在储存时,只能储存同一种数据类型,如果定义的是整数类数组,那么这个数组中就只能存储整数。而ArrayListZ在存储整数数据类型的时候,会吧整数变成Object

    什么是值传递什么是引用传递
    值传递是传递变量的值,并不会改变方法外变量的值;引用传递是传递对象的地址,会改变对象本身的值;

    4.0-3.6=0.4000000000000001为什么
    2进制的小数无法精确的表达10进制小数,计算机在计算10进制小数的过程中要先转换为2进制进行计算,这个过程中出现了误差。

    equals还要重写hashcode
    java自定义的类如果没有覆写hashcode方法,就会调用其父类Object中的hashcode方法,默认是根据地址进行哈希运算,也就是两个内容值相同的对象实例,其hashcode值不一样。 如果自定义的类中重写了equals方法,但没有重写hashcode方法时,会导致相同的两个对象,其hashcode值不一样,这种对象在hashmap、hashset中会出问题,导致相同的key可以重复放入。

  • 相关阅读:
    SmartBeta
    品牌线上布局思路有哪些,品牌策略分析!
    无痛迁移:图解 Kubernetes 集群升级步骤
    AIE荧光分子杂化介孔二氧化硅杂化纳米微球/聚合诱导微米级多孔SiO2微球
    【Python爬虫】8大模块md文档集合从0到scrapy高手,第7篇:selenium 数据提取详解
    小红书热点是什么,怎么找到热点话题!
    分布式中的常见问题
    (iView)表格JSON字符串转为键值对,去掉对象的双引号和花括号,省略号隐藏,悬浮显示完整内容
    【强化学习】《动手学强化学习》动态规划算法
    go语言如何调用其他包中的函数
  • 原文地址:https://blog.csdn.net/weixin_42044885/article/details/128109504