你能解释一下这行代码中发生了什么吗?特别是什么是args[0].tocharArray
?
char[] password = args[0].toCharArray();
答案 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)