草庐IT

Long-Horizon

全部标签

java - Generics Oddity - 我可以将一个 Long 值插入到 Map<String, String> 中,它会编译并且不会在运行时失败

输入以下代码:publicstaticvoidmain(String[]args){HashMaphashMap=newHashMap();HashMapdataMap=newHashMap();dataMap.put("longvalue",5L);classTestMethodHolder{TgetValue(MapdataMap,Stringvalue){return(T)dataMap.get(value);}}hashMap.put("test",newTestMethodHolder().getValue(dataMap,"longvalue"));Stringvalue=

java - 如何检查 List<Long> 是否包含一个值?

我有listListlist,其中包含:[160774,7212775]和Longid=7212775.我需要检查列表是否包含值为id的元素.怎么做?遗憾list.contains(id)返回false就我而言。我就是这样使用它的:@RequestMapping("/case/{id}")publicStringopenCase(@PathVariable("id")Longid){log.debug(caseDAO.findAllCasesId());//[160774,7212775]log.debug(id);//7212775if(caseDAO.findAllCasesId(

java - 在 Java 中对 long 进行位移

我相信这对第一个看到它的人来说很简单!为什么Java中的代码是这样的longone=1打印1=11073741824=1000000000000000000000000000000-2147483648=11111111111111111111111111111111100000000000000000000000000000001=1这对我来说没有意义。long是一个64位数字-而它在上面看起来像一个int。我知道移位的byte会进行int提升,但我看不到这种情况下发生了什么。任何关于这里发生的事情的指示都会很好:)谢谢编辑:感谢所有的回答-我一点击“提交”就意识到发生了什么,但是进

java - long/int 除法中的意外结果

我有这样的值(value)观:longmillis=11400000;intconsta=86400000;doubleres=millis/consta;问题是:为什么res等于0.0(而不是大约0.131944)?它存储在double中,所以不应该四舍五入吗? 最佳答案 当您使用二元运算符时,两个参数应该是同一类型并且结果也将是它们的类型。当你想划分(int)/(long)它变成了(long)/(long)结果是(long).你应该做到(double)/(long)或(int)/(double)得到双重结果。由于double大于

java - 由于 "input line is too long",在 Windows 上运行 .bat 文件时出现问题

我正在使用Windows并有一个批处理文件(下面附有内容),我在尝试运行Java类之前在其中构建类路径。不幸的是,类路径相当大,文件最终约为14kb。当我运行它时,出现“输入行太长”错误。我在别处读到,最大。环境变量的大小为8kb,但我似乎不太可能减小类路径的大小以适应它。我还能做些什么来让它运行吗?谢谢,尼克echooffsubstz:C:\Users\ned24\.m2\repositorysetCLASSPATH=c:\workspace-eclipse\lensfield-pom\lensfield-build\target\classes;%CLASSPATH%setCLAS

java - Java 中有 long double 的替代品吗?

我在阅读C中的数据类型。我发现longdouble的范围比java中的double大。对于非常大的数字,我们可以在C中使用longdouble。如果我想在java中存储相同的数字,我们必须做什么?我们可以使用哪种数据类型?doubleinjavatakes8bytes(64bits)IEEE754.itCoversarangefrom4.94065645841246544e-324dto1.79769313486231570e+308d(positiveornegative).longdoubleinctakes10bytes(80bits)谁能告诉我java中有没有longdoubl

java - 在 Java 中将 long[64] 转换为 byte[512]?

我正在将一个流程移植到Java。已经有C#和C++的工作版本。我在C#中有一个部分,我执行Marshal.Copy(...)将64ulongs转换为512字节,而在C++中的那一行我使用memmove(...)来做同样的事情。Java中有什么可以实现相同的结果?我需要相同顺序的相同二进制信息,就像bytes而不是longs。编辑:我移植到Java的原因是为了利用Java自然具有的可移植性。我不想使用native代码。还有一点。由于Java不包含无符号值,因此我需要稍微更改一下我的请求。我想从64个long(C#和C++中的ulong)中的每一个中获得8个无符号字节值,以便稍后在数组的索

java - 奇怪的 Java 转换异常。为什么我不能将 Long 转换为 Float?

为什么我不能将Long转换为Float?我收到此错误消息:java.lang.ClassCastException:java.lang.Longcannotbecasttojava.lang.Float为什么这是个问题?我试图转换的数字是域[-10.0,10.0]中的小数。它们以使用JFormattedTextField.getValue()返回的Object实例开始。但必须将它们转换为float。堆栈跟踪:Exceptioninthread"AWT-EventQueue-0"java.lang.ClassCastException:java.lang.Longcannotbecast

java - 如何删除警告 The serializable class ClASSNAME does not declare a static final serialVersionUID field of type long

这个问题在这里已经有了答案:WhatisaserialVersionUIDandwhyshouldIuseit?(25个答案)关闭4年前。我创建了一个扩展Exception类的类,我在Eclipse上收到了这个警告TheserializableclassPhoneAlreadyExistsdoesnotdeclareastaticfinalserialVersionUIDfieldoftypelong请问如何删除它?publicclassPhoneAlreadyExistsextendsException{publicPhoneAlreadyExists(){//TODOAuto-ge

java - 将 IPv6 转换为 long 并将 long 转换为 IPv6

我应该如何执行从IPv6到long的转换,反之亦然?到目前为止我有:publicstaticlongIPToLong(Stringaddr){String[]addrArray=addr.split("\\.");longnum=0;for(inti=0;i>24)&0xFF)+"."+((ip>>16)&0xFF)+"."+((ip>>8)&0xFF)+"."+(ip&0xFF);}这是正确的解决方案还是我遗漏了什么?(如果该解决方案同时适用于ipv4和ipv6就完美了) 最佳答案 你也可以使用java.net.InetAddre