我已将地图声明为实例变量,如下所示:
public class JSONParser_GET {
public static Map<String, String> mapOfValues= new Map<String,String>();
...
现在,我有一个未来的方法,我将值添加到此地图:
@future(callout=true)
public static void getRequest(String type,String e,String authHeader){
mapOfValues.put(type,lookupname);
...
但是当我尝试以不同的方法访问它时,这些值不可用。那不就是静态应该做的吗? 当我将其声明为静态实例变量时,它应该是全局可用的。我也尝试使用全局关键字。但这似乎也不起作用。 任何帮助表示赞赏
答案 0 :(得分:1)
我认为,这与Future annotation有关。这意味着,方法getRequest()将异步执行,而不是所有常用方法。
答案 1 :(得分:1)
所以,这就是我做的...... 似乎未来的方法可以并行执行,因为不可能从一个Map本身的响应中获取值。 所以我在getRequest之前编写了一个方法,并将其作为未来,以便我只能创建一个未来处理程序的实例。
public void getRequest{...}
dim a as long, arr as variant, r as range, rng as range
arr = array(2, 3)
for a = lbound(arr) to ubound(arr)
range("B5:H20").rows(arr(a)).entirerow.hidden = true
next a
set rng = range("B5:H20").specialcells(xlcelltypevisible)
range("B5:H20").entirerow.hidden = false
debug.print rng.address(0,0)