获取变量不存在:顶点方法中的字符串



我在调用String.fromCharArray()时收到错误"Variable does not exist: String" nextOne()方法。 我不确定我是如何失去字符串的范围或它是静态方法的。

public with sharing class NextLetterGenerator {
    public List<String> InputArray;
    public Map<String, Integer>Letters;
    public Map<Integer, String>Numbers;
    public UserIdGenerator(String input) {
        InputArray = input.toUpperCase().split('');
        InputArray.remove(0);
        SetLetters();
        SetNumbers();
    }
    public void SetLetters() {
        Letters = new Map<String, Integer> {'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8, 'I' => 9, 'J' => 10,
                                            'K' => 11, 'L' => 12, 'M' => 13, 'N' => 14, 'O' => 15, 'P' => 16, 'Q' => 17, 'R' => 18, 'S' => 19,
                                            'T' => 20, 'U' => 21, 'V' => 22, 'W' => 23, 'X' => 24, 'Y' => 25, 'Z' => 26
                                           };
    }
    public void SetNumbers() {
        Numbers = new Map<Integer, String> {1 => 'A', 2 => 'B', 3 => 'C', 4 => 'D', 5 => 'E'};
    }
    public String nextOne() {
        if (InputArray[InputArray.size() - 1] != 'Z') {
            Integer temp = Letters.get(InputArray[InputArray.size() - 1]);
            InputArray[InputArray.size() - 1] = Numbers.get(temp + 1);
        }
        return String.fromCharArray(InputArray);
    }
}
因此,

事实证明这是编译器错误消息错误的问题。 问题是我没有对 fromCharArray 使用正确的签名。 它需要一个整数列表,我正在传递一个字符串列表。 从长远来看,无论如何我都不想要这种方法。 帮助我得出这个结论的是调用return System.String.fromCharArray(InputArray),它向我表明我可能对该方法使用了不正确的签名。 希望这有助于其他人调试他们的 Apex 代码。

请查看字符串静态方法列表。你可以在这里找到没有这样的带有签名String.fromCharArray(List<String> charArray)的方法,但存在下一个String.fromCharArray(List<Integer> charArray)/

最新更新