将条件移动到多个方法

Del*_*ung 0 java

我有一个非常简单的代码片段,我正试图进入两种方法但是对于我的生活无法弄清楚我做错了什么,这里是目前的代码:

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;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将其转换为方法时:

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;
}
Run Code Online (Sandbox Code Playgroud)

我得到的所有错误是当前范围已包含检查页变量.任何帮助是极大的赞赏.我是一个新手,所以修改我的代码或代码片段非常感谢.

Lui*_*oza 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;
}
Run Code Online (Sandbox Code Playgroud)