麻烦解释一行代码

时间:2015-11-21 21:17:37

标签: java

我是Java的新手,在我的课程中我得到了老师助手的帮助。他的代码真的过于复杂,虽然它有效,但我无法理解他对它做了什么。我的主要困惑归结为这一行,它使用了string.toCharArray(我们在课堂上没有涉及的内容)。我找不到任何在线网站用我能理解的术语来解释它,所以如果有人能告诉我这是什么意思,我真的很感激!谢谢!

for (char ch : variableName.toCharArray())

3 个答案:

答案 0 :(得分:0)

基本上,你的教授已经采用String变量并在其上调用了toCharArray()方法,该方法返回char[],其中每个索引都填充了您的单词/句子中的每个字符/字符串。

这通常用于迭代String的每个单个字符,这是您的教授在此处所做的。

实施例

String myName = "Yassin";

for (char c : myName.toCharArray()){
    System.out.println(c);
}

将在一行中打印我姓名中的每个字符:

Y
a
s
s
i
n

答案 1 :(得分:0)

假设您有一个名为variableName的变量。让我们说变量是一个字符串。

.toCharArray()将获取您的变量,您的字符串,并将其转换为单个字符数组。这些字符属于char类型。

for循环,允许您迭代新数组中的每个char。有效地循环原始字符串中的每个字符。

答案 2 :(得分:0)

来自 @JavaDoc

/**
 * Converts this string to a new character array.
 *
 * @return  a newly allocated character array whose length is the length
 *          of this string and whose contents are initialized to contain
 *          the character sequence represented by this string.
 */
public char[] toCharArray() {
    // Cannot use Arrays.copyOf because of class initialization order issues
    char result[] = new char[value.length];
    System.arraycopy(value, 0, result, 0, value.length);
    return result;
}
  1. 方法toCharArray()将字符串除以单个字符串并逐个添加到数组中。
  2. 循环for() {}将遍历新创建的数组中的所有字符,因此您无需考虑:数组长度,迭代器等。