常问题
文章平均质量分 61
cc1aymore
https://gitee.com/cc1aymore
展开
-
java形参传递情况
1.当把对象作为方法形参传入时,是传入地址,同时新建另一个对象,那么将会新建一个方法对象,change()方法将丢失传入的形参地址。2.当新建一个对象保存形参时,得以保存3.当时如果改变转入形参的地址,改变了其地址的属性(成员变量),那么将会影响到实参的属性。解释:说白了,Java只有值传递,网上说的什么两种传递方式:值传递和引用传递的都不是很准确。要知道所谓的引用传递,传递的也是指向堆内存中对象的“地址值”。都是“值”而已。也就涉及到4个东西——实际参数、形式...原创 2021-03-02 20:12:28 · 288 阅读 · 0 评论 -
java的==和hashcode的冤家路窄
1.问题如下,why?首先,java的==比较的确实是对象的地址。但是我们指导Integer是int的装箱,但是Integer为了有些数字会被频繁被使用,所以使用了缓存(私有静态内部类IntegerCache),这样便不会一直创建对象了。如下图:其中Integer cache[]即为缓存的数组,但是如果public static void main(String[] args) { Integer testa = new Integer(100); .原创 2021-03-02 19:22:33 · 301 阅读 · 0 评论 -
java编码-简说
1.String底层在JDK9以后使用字节数组来存储字符串,在JDK8及以下使用char[]来存储字符串。并且均被final修饰为什么要修改字符为字节?节省空间,字符占据两字节,字节占用一个字节(char是字符,一个字符占两个字节)2.Java 语言使用 Unicode 字符集,Unicode 为每一个字符都分配的一个唯一的数字,即 这个数字便代表与之对应的字符。Java中的字符(char)下面的程序打印一个字符 ‘楠’ 字:public class Temp_3 { publ.原创 2021-02-17 21:42:28 · 196 阅读 · 0 评论