在学校花了很多时间在Java和C++上之后,我正在努力学习Apex。在以前的生活中,我是SFDC的一个重要用户,当时我帮助我们的组织选择了SFDC。因此,Apex似乎是一种自然的进展。
在这一过程中,我正在努力完成这些“首屈一指的挑战”。第一个是创建一个Apex类,它返回一个字符串数组(或列表):
SFDC开发者控制台中的代码..。
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的怪癖的行为。这似乎是一个非常简单的程序,应该是非常直接的。在工作中有背景规则吗?
发布于 2017-09-26 07:33:52
您的类有自定义命名空间吗?我假设来自匿名窗口的代码可能在没有名称空间的内部SF类中编译,在这种情况下,您的公共类(在您的自定义命名空间下)将无法从那里获得。如果是这样的话,试着为你的班级将“公共”改为“全球”。
发布于 2018-01-16 20:36:17
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;
}
}https://stackoverflow.com/questions/46350261
复制相似问题