返回新字符串(密码);有人可以解释一下,这是如何返回 String 的吗? [复制]

Posted

技术标签:

【中文标题】返回新字符串(密码);有人可以解释一下,这是如何返回 String 的吗? [复制]【英文标题】:Return new String(password); Can somebody explain, how this is returning of String works here? [duplicate] 【发布时间】:2020-04-10 13:45:52 【问题描述】:

我明白了逻辑,但我不明白为什么我们要返回 new String(password),是否将 char[] 转换为字符串,如果是,如何?我总是在铸造和转换方面感到困惑。给我简单而详细的答案,让我更清楚地理解这个概念。

private String randomPass(int length)
    
        String passwordSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890@#";
        char[] password = new char[length];
        for(int i = 0; i < length; i++)
        
            int rand = (int) (Math.random() * passwordSet.length());
            password[i] = passwordSet.charAt(rand);
        
        return new String (password);
    

【问题讨论】:

【参考方案1】:

是的,new String(someCharArray) 返回一个字符串,其值只是将数组中的每个字符连接在一起。所以:

char[] example = new char[] 'H', 'e', 'y', '!';
String s = new String(example);
System.out.println(s);

将打印Hey!

它是如何工作的? ……确实如此。如果您真的想知道,可以使用源代码,但是字符串在内存中的表示方式取决于 JVM 版本,有点复杂,最重要的是,与日常编码练习无关。值为Hey! 的字符串按预期运行。 s.length() 将返回 4。s.indexOf('e') 将返回 1。等等。

【讨论】:

以上是关于返回新字符串(密码);有人可以解释一下,这是如何返回 String 的吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

这是 WordPress 中的 .htaccess 代码。有人可以解释它是如何工作的吗?

有人可以解释一下 MongoDB 中文档的大小限制吗?它说每个文档有 16MB 的限制,但这是啥意思?

有人可以解释 C++ FAILED 函数吗?

codeigniter,从不直接调用视图,有人可以解释一下

有人可以帮助解释这个回溯算法中的递归吗?

有人可以解释一下如何以及何时应该在 oracle 中使用 syscursor 吗? [关闭]