我在班级X
中有一个变量,我希望将其内容与另一个班级Y
中的字段值相匹配。
我在课程X
中有以下代码:
String Cellresult;
Cell a1 = sheet.getCell(columNumber,rowNumber); // gets the contents of the cell of a an excell sheet
Cellresult = a1.getContents(); // stores the values in the variable named Cellresult
System.out.println(Cellresult); // prints the values which is working fine till here
现在在另一个班级Y
中,我想将Cellresult
的值与已填充字段txtVFNAME
的字段的值进行比较。
我试过了:
WebElement a = idriver.findElement(By.id("txtVFNAME"));
if (a.equals(Cellresult)){
System.out.println("text is equal");
};
即使在编译:: Cellresult cannot be resolved to a variable
之前,我也会收到错误
我正在使用java,Eclipse,IE 10,赢得8.kindly帮助。非常感谢。
答案 0 :(得分:6)
您不能仅在类X
中引用类Y
的变量。为了能够访问类X
的实例变量,使用它创建一个访问它的实例。
X x = new X();
if (a.equals(x.Cellresult)){ // Cellresult is public
但在你的情况下,似乎Cellresult
存在于方法内而不是实例变量中。在这种情况下,请从方法中返回Cellresult
并在此处使用。
X x = new X();
if (a.equals(x.methodThatReturnsCellresult())){ // methodThatReturnsCellresult is public
班级X
中的方法如下所示。
public String methodThatReturnsCellresult() {
// Other stuffs too.
String Cellresult;
Cell a1 = sheet.getCell(columNumber,rowNumber); // gets the contents of the cell of a an excell sheet
Cellresult = a1.getContents(); // stores the values in the variable named Cellresult
System.out.println(Cellresult);
return Cellresult; // returning the Cellresult value to be used elsewhere, in your case, in Class Y
}