我有一个非常简单的代码片段,我正试图进入两种方法但是对于我的生活无法弄清楚我做错了什么,这里是代码:
if (chatLayer != null) {
Page checkPage = resource.resourceResolver.getResource(url).adaptTo(Page);
url = (checkPage) ? ".html" : "";
} else {
PageManager manager = resource.getResourceResolver().adaptTo(PageManager.class);
String currentPage = manager.getContainingPage(resource).getPath();
url = "&refer="+currentPage;
}
当我尝试将其变成方法时:
url = chatLayer ? chatOverlay() : chatURL()
private static String chatOverlay(Page checkPage, String url) {
Page checkPage = resource.resourceResolver.getResource(url).adaptTo(Page);
url = (checkPage) ? ".html" : "";
}
private static String chatURL(Page checkPage, String url) {
PageManager manager = resource.getResourceResolver().adaptTo(PageManager.class);
String currentPage = manager.getContainingPage(resource).getPath();
url = "&refer="+currentPage;
}
我得到的所有错误是当前范围已包含检查页变量。任何帮助是极大的赞赏。我是新手,所以对我的代码或代码片段的修改非常感谢。
答案 0 :(得分:5)
在方法chatOverlay
中,您有一个Page checkPage
参数和一个Page checkPage
局部变量。更改其中一个的名称。另外:你没有从你的方法中返回任何东西(不确定这是否是一个错字)。
private static String chatOverlay(Page checkPage, String url) {
//changed the name of the local variable
Page checkedPage = resource.resourceResolver.getResource(url).adaptTo(Page);
url = (checkedPage) ? ".html" : "";
return url;
}
答案 1 :(得分:0)
private static String chatOverlay(Page checkPage, String url) {
Page checkPage = resource.resourceResolver.getResource(url).adaptTo(Page);
url = (checkPage) ? ".html" : "";
}
您已经有一个名为checkPage的变量作为您的方法参数之一。你的方法中不能有两个名为checkPage的变量 - 编译器如何知道你指的是哪个变量?