这行代码的解释?

时间:2009-11-19 08:04:30

标签: java

你能解释一下这行代码中发生了什么吗?特别是什么是args[0].tocharArray

char[] password = args[0].toCharArray();

7 个答案:

答案 0 :(得分:7)

char []是您的数据类型。 “char”是一个16位字符,char []是一个字符数组。

args [0]是传递给程序的第一个参数。

.toCharArray();将该参数转换为字符数组。

这行代码基本上是一个参数,将其转换为字符数组,并将其存储在“password”中,这是一个字符数组。

答案 1 :(得分:4)

它将Java程序的第一个参数 - 作为String[]传递给main方法 - 转换为字符数组。

大多数面向密码的API都使用char[],因此在调用方法后,调用者可以“清零”数组,从而有效地擦除内存中的密码。由于Java String实例是不可变的,因此它们不能归零。但是,实际上,如果不使用String,很难获得用户输入。所有Web框架都会将Web请求中提交的密码转换为String。但是,Swing密码小部件和Java 6的Console类将输入char[]

答案 2 :(得分:3)

args [0] 可能是一个String数组。因此,它调用方法String.toCharArray(),将String转换为字符数组。

编辑:在评论后更正了我的回答。

答案 3 :(得分:2)

它将args数组的第一项(可能是传递给main方法的第一个命令行参数(字符串类型))转换为等效的字符数组(包含所有字符的数组)建立字符串)。

答案 4 :(得分:1)

args是一个数组。

数组的类型包含一个名为toCharArray的函数,它返回一个字符数组。 NOTE: args is most likely an array of strings

因此它接受args [0]中的字符串并创建一个表示该字符串的字符数组。

答案 5 :(得分:0)

args [0] - 表示字符串 toCharArray() - 将此字符串转换为char数组

答案 6 :(得分:0)