当前位置: 首页 > 知识库问答 >
问题:

即使在int转换为String之后,也提供了“不可比的类型:int和String”的Java流

罗星洲
2023-03-14
incomparable types: int and String
      int count = squareString.chars().filter(ch -> ch == criticalDigit).count();

当INT已经转换为字符串时,为什么这个流会给我这个错误?我如何成功地计算字符串数字在字符串INT中出现的次数?

我目前拥有的代码是:

import java.util.stream.*;

public class CountDig {

    public static int nbDig(int n, int d) {
      int[] squaredNumbers = new int[n];
      int number = 0;
      String strV = String.valueOf(d);
      int totalCount = 0;
      for (int i = 0; i < n; i++) {
        number = i * 2;
        String squaredString = String.valueOf(number);
        totalCount += occurrenceChecker(squaredString, strV);
    }
      return totalCount;
    }

    public static int occurrenceChecker(String squareString, String criticalDigit) {
      int count = squareString.chars().filter(ch -> ch == criticalDigit).count();
      return count;
    }

}

共有1个答案

洪浩波
2023-03-14

chars()返回IntStream,所以在Lambda表达式中ch是整数

如果方法nbDig上的d位于“0”到“9”中,下面的代码将起作用。

squareString.chars().filter(ch -> ch == criticalDigit.charAt(0)).count()

如果不是,你应该改变算法。

squareString.chars().filter(ch -> criticalDigit.indexOf(ch) != -1).count()
 类似资料:
  • 主要内容:String转换为int,int转换为String,valueOf() 、parse()和toString()String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的。本节前面部分主要讲解了 String 转换 int 和 int 转换 String 方法,并提供了示例代码,后面部分对 valueOf()、parse() 和 toString() 等具体方法进行介绍。 String转换为int String 字符串转整型 int 有以下两种方式:

  • 问题内容: 我正在一个项目中,所有从到的转换都是这样完成的: 我对Java不熟悉。我想这是通常的做法还是出了什么问题? 问题答案: 正常的方法是或。 串联可以工作,但是这是非常规的,可能会产生难闻的气味,因为这表明作者不了解上述两种方法(他们可能还不知道什么?)。 当与字符串一起使用时,Java对+运算符有特殊的支持(请参阅文档),它将你发布的代码转换为: 在编译时。它的效率稍低(最终会调用,这反

  • 以及为什么我在这个中得到..

  • 问题内容: 我正在尝试找出如何在Swift中将转换为。 我想出一种解决方法,但是我很想弄清楚如何在Swift中做到这一点。 问题答案: 转换为: 而另一种方式-转换为: 或者,如果您使用的是Swift 2或3:

  • 本文向大家介绍Java中string和int的互相转换问题,包括了Java中string和int的互相转换问题的使用技巧和注意事项,需要的朋友参考一下 int -> String 核心:s=i+""; String -> int 核心:i=Integer.parseInt(s); 这个方法的测试结果就是20171091。 以下参考: java中string和int互相转化 1 如何将字串 Stri