在java中,为啥使用char[]存储密码,而不适用String?

应为String是final修饰的类,当String创建后,就不会再改变了。说白了就是:当初始化String创建一个对象时,这个对象就会放在内存中的常量缓冲区,如果将这个String的引用重新赋值,只是重新创建了一个新的对象,原有的对象是不会改变的,并且这个对象还保留在内存中。

而char[]是可变的,使用之后可以改变,不会保留任何原始数据。所以在使用密码时,一般都是使用char[]数组

posted @ 2020-01-02 11:08  大海中的海洋  阅读(505)  评论(0编辑  收藏  举报