java 包 com.google.common.collect.Range< LocalDate > 交集返回错误的交集

标签 java time guava intersection

我有这个代码:

private Range<LocalDate> datesRange;

intersection = !this.datesRange.isConnected(otherConditionBl.datesRange) ?
                    null :
                    this.datesRange.intersection(otherConditionBl.datesRange);

这个输入怎么会有交集?

this.datesRange = {Range@5802} "[2017-04-11..2017-04-12)"
otherConditionBl.datesRange = {Range@5801} "[2017-04-12..2017-04-14]"
this.datesRange.intersection(otherConditionBl.datesRange) = {Range@7036} "[2017-04-12..2017-04-12)"

我可以在哪里报告此错误?

最佳答案

这是documented behaviour

The resulting range may be empty; for example, [1..5) intersected with [5..7) yields the empty range [5..5)

如果仔细观察,返回的范围实际上是空的。它由所有日期 x 组成,例如 2017-04-12x <2017-04-12 ,这是不可能满足的。

关于java 包 com.google.common.collect.Range< LocalDate > 交集返回错误的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354567/

相关文章:

java - maven surefirereport -doutputdirectory 不工作

java - 检测主类

Java 语法数组 {1,2,3} 与 new int[] {1,2,3}

linux - 时间通过领先的 sudo 调用产生奇怪的结果

Python pandas 计算时间,直到列中的值大于当前期间的值

java - Guava 的 ImmutableSet 成员方法是否模仿 java.util.HashSet#contains?

java - 使用 Spring LocaleChangeInterceptor 时如何在 URL 中保留变量

java - 两个日期之间的差异(以天为单位)各不相同

Android 2.2 : java. Guava 类的 lang.NoClassDefFoundError

java - 如何在 Java 中合并两个不可变集?