在学校里花了很多时间学习Java和C ++之后,我正在努力学习Apex。在以前的生活中,我是SFDC的重度用户,并帮助当时为我们的组织选择了它。所以Apex似乎是一种自然的进步。
在这个过程中,我正试图完成这些"小道挑战"。第一个是Create a Apex类,它返回一个字符串数组(或列表):
SFDC Developer控制台中的代码......
public class StringArrayTest
{
public static String [] generateStringArray(integer size)
{
String [] locStrArray = new String [size];
//set values in array...
for (integer i = 0; i < size; i++)
{
locStrArray[i] = 'Test ' + i;
}
//display array...
for (integer i = 0; i < size; i++)
{
System.debug(locStrArray[i]); //when in doubt, system out...
}
return locStrArray;
}
}
打开执行匿名窗口中的代码...
integer size =10;
String [] strArray = new String [size];
strArray = StringArrayTest.generateStringArray(size);
for (integer i = 0; i < size; i++)
{
strArray[i] = 'Test ' + i;
system.debug('B ' + strArray[i]); //when in doubt, system out...
}
以下是我遇到的访问违规行为......
Line: 3, Column: 28
Method is not visible: void StringArrayTest.generateStringArray(Integer)
此功能适用于Netbeans,system.debug()
替换为system.out.println()
这个挑战可能甚至不再有效,因为我去年春天开始,然后直到现在。大多数情况下,我只是想了解其在线IDE相对于其他IDE所具有的怪癖的行为。这似乎是一个非常简单的程序,应该非常简单。是否有背景规则在起作用?
答案 0 :(得分:0)
您的班级有自定义命名空间吗?我假设,匿名窗口中的代码可能在没有命名空间的情况下在某个内部SF类中编译,在这种情况下,您的公共类(在您的自定义命名空间下)将不可用。如果是这样,请尝试将班级的“公共”更改为“全局”。
答案 1 :(得分:-1)
public class StringArrayTest {
public static List<String> generateStringArray(Integer n){
List<String> strings = new List<String>();
integer count = 0;
While(count < n){
strings.add('Test ' + count);
count ++;
}
System.debug(strings);
return strings;
}
}