Java 在长范围值中查找

Java 在长范围值中查找,java,Java,我在查找值中有很长的值要查看,并返回相应的值。为了避免出现任何与值相关的错误,我将所有值都设置为Long-type 这是我的密码 package RestClient; public class Range { public static Long upper; public static Long value; public Range(Long i, Long j) { Range.upper = i; Range.value =

我在查找值中有很长的值要查看,并返回相应的值。为了避免出现任何与值相关的错误,我将所有值都设置为Long-type

这是我的密码

package RestClient;

public class Range {

    public static Long upper;
    public static Long value;

    public Range(Long i, Long j) {
        Range.upper = i;
        Range.value = j;
    }

}



package RestClient;

import java.util.Map;
import java.util.NavigableMap;
import java.util.TreeMap;

public class Rangelookup {

    public static String Lookup(Long key) {

        NavigableMap<Long, Range> map = new TreeMap<Long, Range>();
        map.put(5045076263000000000L, new Range(5045076263249899999L, 507866L));
        map.put(5045076263249900000L, new Range(5045076263249999999L, 507866L));
        map.put(5045076263250000000L, new Range(5045076263499899999L, 507868L));
        map.put(5045076263499900000L, new Range(5045076263499999999L, 507868L));
        map.put(5045076263500000000L, new Range(5045076263749899999L, 507867L));
        map.put(5045076263749900000L, new Range(5045076263749999999L, 507867L));
        map.put(5045076263750000000L, new Range(5045076263999899999L, 507869L));
        map.put(5045076263999900000L, new Range(5045076263999999999L, 507869L));
        map.put(5045075892250000000L, new Range(5045075892499899999L, 507867L));
        map.put(5045075892499900000L, new Range(5045075892499999999L, 507867L));
        map.put(5045075892000000000L, new Range(5045075892249899999L, 507869L));
        map.put(5045075892249900000L, new Range(5045075892249999999L, 507869L));

        String output = "";
        Map.Entry<Long, Range> entry = map.floorEntry(key);
        if (entry == null) {

            output = "No Entry Found";

        } else if (key <= entry.getValue().upper) {

            output = entry.getValue().value.toString();

        } else {

            output = "No Entry Found";

        }

        System.out.println(output);
        return output;

    }

    public static void main(String[] args) {

        Lookup(5045076263249899985L);

    }

}
package-RestClient;
公共类范围{
公共静态上长;
公共静态长期价值;
公共范围(长i、长j){
Range.upper=i;
Range.value=j;
}
}
软件包客户端;
导入java.util.Map;
导入java.util.NavigableMap;
导入java.util.TreeMap;
公共类范围查找{
公共静态字符串查找(长键){
NavigableMap=newtreemap();
地图放置(5045076263000000000L,新范围(504507626324989999L,507866L));
地图放置(504507626324990000L,新范围(504507626324999999L,507866L));
地图放置(504507626325000000L,新范围(504507626349989999L,507868L));
地图放置(504507626349990000L,新范围(504507626349999999L,507868L));
地图放置(5045076263500000000升,新范围(5045076263749899999升,507867L));
地图放置(504507626374990000L,新范围(504507626374999999L,507867L));
地图放置(504507626375000000L,新范围(5045076263999999999L,507869L));
地图放置(50450762639999000L,新范围(5045076263999999999L,507869L));
地图放置(5045075892250000L,新范围(5045075892499999L,507867L));
地图放置(504507589249990000L,新范围(504507589249999999L,507867L));
map.put(50450758920000000000L,新量程(504507589224989999L,507869L));
地图放置(504507589224990000L,新范围(504507589224999999L,507869L));
字符串输出=”;
Map.Entry=Map.floorEntry(键);
if(条目==null){
output=“未找到条目”;

}否则,如果(键找到的条目是:

map.put(5045076263000000000L, new Range(5045076263249899999L, 507866L));
但上限值
504507589224999999
小于查找键
5045076263249899985

5045075892249999999
      <
5045076263249899985
504507589224999999
<
5045076263249899985
因此,您会得到
“未找到条目”