我有一个问题,我现在想不通。我有一个作为 Iframe 的类,它具有变量“private List pathContainer”来维护 Iframe 的路径。
给出的是它的代码,
public class IFrame implements HtmlElement {
private WebElement elem;
private String xpath;
private boolean selected;
private String parentClass;
private boolean isProcessed=false;
private boolean isIframeContent=false;
private List <String> pathContainer;
public IFrame(WebElement elem) {
this.elem = elem;
pathContainer=new ArrayList<String>();
}
我将父 iframe 的路径列表传递给子 iframe 以将其包含在其列表中。但是,当我修改 subIframe 路径列表时,父 Iframe 路径列表也会更改。给定的是函数的代码,
public void LoadIFrameNodes(List<String> parentPath){
IFrame iframe=new IFrame(e);
List <String> tempPath=new ArrayList<String>();
iframe.setPathContainer(parentPath); //assigning parent path in subIframe list
tempPath=iframe.getPathContainer();
tempPath.add(iframe.getXpath()); // add another value to subIframe
iframe.setPathContainer(tempPath); //setting the changed list as the subIframe
}
一旦使用新值设置了 subIframe,传递的 parentPath 列表也将使用新值进行更改。我没有更新通过的列表。请告诉我哪里出错了?