如何获取(甚至通过编写新函数)Object数组的大小(由我创建的Fraction类型)?

问题描述 投票:0回答:1

我正在为类Frazione创建一个函数库(它意味着分数),我需要处理类型为Frazione的数组的逻辑大小。我怎样才能获得它?

我尝试了一个for循环和一个while循环,但我找不到正确的方法将使用过的索引与未使用的索引分开。

public static int size(Frazione[] set) {
   int size = 0;
   for (int i = 0; i < set.length; i++)
      if (set[i] != null) //the only way I know not to count unused indexes
         size++;
   return size;
}

它应该返回数组中的元素数,但它甚至不会运行

java arrays size
1个回答
0
投票

你的代码运行正常。作为替代方案,您可以使用流API执行相同操作。有count()方法返回long类型。所以你可以把它投到int

public static int size(Frazione[] set) {
    return (int)Arrays.stream(set)
            .filter(Objects::nonNull)
            .count();
}
© www.soinside.com 2019 - 2024. All rights reserved.