Java 如何将列表计数与单个整数值进行比较?

Java 如何将列表计数与单个整数值进行比较?,java,selenium-webdriver,Java,Selenium Webdriver,我正在尝试匹配记录总数,但无法匹配,因为我的一个totalcount在列表类型变量中为strong,另一个存储在单个整数变量中 int count = Integer.parseInt(Topjobscount); if(count == (totaljobs.size())) 我的代码: `Base.getdriver().get(Js_constants.DashboardURL); List<WebElement> totaljobs = Base.getdriver

我正在尝试匹配记录总数,但无法匹配,因为我的一个totalcount在列表类型变量中为strong,另一个存储在单个整数变量中

int count = Integer.parseInt(Topjobscount);
if(count == (totaljobs.size()))
我的代码:

`Base.getdriver().get(Js_constants.DashboardURL);

  List<WebElement>  totaljobs = Base.getdriver().findElements(By.className(Js_constants.TopsJobsactualtotal));
  System.out.println(totaljobs.size()); //OUTPUT 30

   //Integer.parseInt(totaljobs); //THIS IS NOT WORKING..WHY?

  String Topjobscount = Base.getdriver().findElement(By.xpath(Js_constants.Topsjobscount)).getText();
  System.out.println(Topjobscount); //OUTPUT 30
  Integer.parseInt(Topjobscount); 



  //HERE IT IS NOT SUPPORTING CONDITION LIKE THIS.
  if(Topjobscount == (totaljobs.size()))

  {

      System.out.println("Jobs & Count are matching");
      Reporter.log("Jobs & Count are matching");

  }
  else
  {

      System.out.println("Jobs & Count are matching");
      Reporter.log("Jobs & Count are not matching");


  }


  }`
`Base.getdriver().get(Js_constants.DashboardURL);
List totaljobs=Base.getdriver().findElements(By.className(Js_constants.topsjobsatal));
System.out.println(totaljobs.size())//产出30
//整数.parseInt(totaljobs)//这不管用,为什么?
字符串Topjobscount=Base.getdriver().findElement(By.xpath(Js_constants.Topjobscount)).getText();
系统输出打印LN(Topjobscount)//产出30
整数.parseInt(Topjobscount);
//这里不是这样的支持条件。
如果(Topjobscount==(totaljobs.size())
{
System.out.println(“作业和计数匹配”);
日志(“作业和计数匹配”);
}
其他的
{
System.out.println(“作业和计数匹配”);
Reporter.log(“作业和计数不匹配”);
}
}`

我正在使用SeleniumWebDriver&Java。我想比较两个变量计数,但问题是它不允许我将列表类型变量转换为整数

Topjobscount
varibale是一个字符串,您试图将其与int值进行比较

调用
Integer.parseInt(Topjobscount)
无法将
字符串
转换为
int
。必须将
Integer.parseInt(Topjobscount)
返回的值赋给一个int值,然后进行比较。 试试这个

int x = Integer.parseInt(Topjobscount);
if(x == (totaljobs.size()))
请记住捕获
NumberFormatException

文档中指出

返回: 参数以十进制表示的整数值

抛出: NumberFormatException-如果字符串不包含可解析整数

所以您需要将返回的值保存到整数变量中并使用该变量

int count = Integer.parseInt(Topjobscount);
if(count == (totaljobs.size()))
Java严格来说是一种类型语言。这意味着跟随

String.valueOf(totaljobs.size());
您不能向方法中提供任何内容,它必须严格位于同一对象层次结构中。如果试图提供错误类型的值作为参数,则会导致编译时错误

例如,在代码
列表中,totaljobs
明确表示对象的类型totaljobs为列表。 其中,
Integer.parseInt()
中的参数类型为String。因此,您不能在需要字符串的地方提供列表类型的值。 相反,您可以通过将列表转换为字符串来传递列表的大小,如下所示

String.valueOf(totaljobs.size());
将返回列表大小的字符串表示形式

但是,您可以通过调用
integer.parseInt(string.valueOf(totaljobs.size())将此字符串值转换回整数

但是上面没有任何意义,因为List的size()方法返回一个整数值

topJobScont是一个字符串值,如果不将其转换为整数,则无法将其与int值进行比较

所以您可以通过将字符串转换为整数来更正
(Topjobscount==(totaljobs.size())
。如下所示

if (Integer.parseInt(Topjobscount) == totaljobs.size())

希望这有帮助。

谢谢你,伙计:)我的印象是,如果不保存为变量,它也会转换为整数。.不,您不能将字符串引用(Topjobscount)更改为整数引用