Tag: java

计算Java 8中两个date之间的天数

我知道有很多关于如何获得的问题,但是我想要和使用新的Java 8 Date api的例子。 我也知道JodaTime库,但我想要一个没有外部库的工作方式。 function需要抱怨这些限制: 防止date保存时间的错误 input是两个date的对象(没有时间,我知道localdatetime,但我需要做的date实例)

如何在Retrofit库中设置超时?

我在我的应用程序中使用Retrofit库,我想设置超时60秒。 改造是否有办法做到这一点? 我这样设置Retrofit: RestAdapter restAdapter = new RestAdapter.Builder() .setServer(BuildConfig.BASE_URL) .setConverter(new GsonConverter(gson)) .build(); 我怎样才能设置超时?

必须使用GeoLocationtypes的封闭实例限定分配

我得到这个错误as- 没有可以访问GeoLocationtypes的封闭实例。 必须用GeoLocationtypes的封闭实例限定分配(egxnew A(),其中x是GeoLocation的一个实例)。 这个错误是在新的ThreadTask(i) 。 我不知道为什么会发生。 任何build议将不胜感激。 public class GeoLocation { public static void main(String[] args) throws InterruptedException { int size = 10; // create thread pool with given size ExecutorService service = Executors.newFixedThreadPool(size); // queue some tasks for(int i = 0; i < 3 * size; i++) { service.submit(new ThreadTask(i)); } // wait […]

使用Javastring格式格式化整数

我想知道是否有可能使用Java中的String.format方法来给出一个整数前面的零? 例如: 1会变成001 2将成为002 … 11将成为011 12会变成012 … 526将保持为526 …等等 目前我已经尝试了下面的代码: String imageName = "_%3d" + "_%s"; for( int i = 0; i < 1000; i++ ){ System.out.println( String.format( imageName, i, "foo" ) ); } 不幸的是,这个数字前面有3个空格。 是否有可能在数字前面加上零来代替?

如何testing双精度是一个整数

是否有可能做到这一点? double variable; variable = 5; /* the below should return true, since 5 is an int. if variable were to equal 5.7, then it would return false. */ if(variable == int) { //do stuff } 我知道代码可能不会像这样,但它是怎么回事?

Java的枚举相对于具有公共静态final字段的类有什么优势?

我对C#非常熟悉,但开始更多地使用Java。 我期望知道Java中的枚举与C#中的枚举基本相同,但显然情况并非如此。 最初我很高兴得知Java枚举可能包含多个似乎非常有利的数据片段( http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html )。 然而,从那以后,我发现了许多在C#中微不足道的function,比如能够轻松地为枚举元素指定一个特定的值,并因此能够将整数转换为枚举而无需花费大量精力即将整数值转换为匹配的Java Enum )。 所以我的问题是:有一堆公共静态最终字段的Java枚举有什么好处? 还是只是提供更紧凑的语法? 编辑:让我更清楚。 什么是Java枚举相对于一堆相同types的公共静态最终字段的好处? 例如,在第一个链接的行星例子中,使用这些公共常量的类的枚举有什么优势: public static final Planet MERCURY = new Planet(3.303e+23, 2.4397e6); public static final Planet VENUS = new Planet(4.869e+24, 6.0518e6); public static final Planet EARTH = new Planet(5.976e+24, 6.37814e6); public static final Planet MARS = new Planet(6.421e+23, 3.3972e6); public static final Planet JUPITER = […]

如何可靠猜测MacRoman,CP1252,Latin1,UTF-8和ASCII之间的编码

在工作中,似乎没有一周没有一些编码相关的内涵,灾难或灾难。 这个问题通常来自程序员,他们认为他们可以在不指定编码的情况下可靠地处理“文本”文件。 但是你不能。 所以决定今后禁止以*.txt或*.text结尾的文件。 这样的想法是,这些扩展误导了偶然的程序员对编码的沉闷自满,这导致不正确的处理。 根本就没有延伸,因为至less你知道你不知道你有什么。 但是,我们并不想走得太远。 相反,您将需要使用以编码结尾的文件名。 所以对于文本文件,例如,这些就像README.ascii , README.latin1 , README.utf8等 对于需要特定扩展名的文件,如果可以在文件本身内指定编码,例如Perl或Python,那么您应该这样做。 对于文件中没有这样的工具的文件,例如Java源文件,您将在扩展之前放置编码,例如SomeClass-utf8.java 。 对于输出,UTF-8将是强烈的首选。 但是对于input,我们需要弄清楚如何处理名为*.txt的代码库中的数千个文件。 我们想重新命名所有这些以符合我们的新标准。 但是,我们不可能把所有的东西都放在眼里。 所以我们需要一个实际工作的图书馆或者程序。 这些是在ASCII,ISO-8859-1,UTF-8,微软CP1252,或苹果MacRoman各种。 虽然我们知道我们可以判断出是ASCII是什么,而且我们知道是否有可能是UTF-8的一个很好的变化,但我们对8位编码难以理解。 因为我们运行在混合的Unix环境(Solaris,Linux,Darwin)中,而大多数桌面机都是Mac,所以我们有很多恼人的MacRoman文件。 而这些尤其是一个问题。 一段时间以来,我一直在寻找一种方法来编程确定哪一个 ASCII ISO-8859-1 CP1252 的MacRoman UTF-8 一个文件是在,我还没有find一个程序或库,可以可靠地区分这三个不同的8位编码。 我们可能有超过一千个MacRoman文件,所以无论使用什么字符集检测器,都必须能够嗅出这些文件。 我看过的没有什么可以pipe理的。 我对ICU字符集检测器库有很大的希望,但是却无法处理MacRoman。 我也研究过在Perl和Python中做同样的事情的模块,但是总是一样的:不支持检测MacRoman。 因此,我所寻找的是一个现有的图书馆或程序,可以可靠地确定这五个编码中哪一个是文件所在的位置,最好是多于这个编码。 特别是它必须区分我引用的三种3位编码, 尤其是MacRoman 。 这些文件超过99%的英文文本; 在其他语言中有一些,但不是很多。 如果是库代码,我们的语言偏好是按照Perl,C,Java或Python的顺序。 如果它只是一个程序,那么我们并不关心它是什么语言,只要它来自全部源代码,在Unix上运行,并且完全没有妨碍。 有没有其他人有这个问题的随机编码的十亿遗留文本文件? 如果是这样,你是怎么试图解决这个问题的,你是多么的成功? 这是我的问题中最重要的一个方面,但是我也很感兴趣的是,是否鼓励程序员使用这些文件的实际编码来命名(或重命名)它们的文件,这将有助于我们避免将来出现问题。 有没有人曾试图在体制上强制执行这项规定,如果是的话,是否成功?为什么? 是的,我完全明白为什么在这个问题的性质上不能保证一个明确的答案。 对于那些没有足够数据的小文件尤其如此。 幸运的是,我们的文件很less。 除了随机的README文件外,大多数的大小范围是50k到250k,而且很多都是大的。 任何超过几K的大小都保证是英文的。 问题领域是生物医学文本挖掘,所以我们有时处理广泛的和非常大的语料库,像所有PubMedCentral的开放式访问存储库。 BioThesaurus […]

JMS和AMQP – RabbitMQ

我想了解JMS以及它如何连接到AMQP术语。 我知道JMS是一个API,AMQP是一个协议。 这是我的假设(以及问题) RabbitMQ使用AMQP协议(而是实现AMQP协议) Java客户端需要使用AMQP协议客户端库来连接/使用RabbitMQ JMS API在这里发挥了什么作用? JMS API应该使用AMQP客户端库连接到RabbitMQ? 通常我们使用JMS来连接Message Broker,比如RabbitMQ,ActiveMQ等等。那么这里使用的是默认的协议,而不是AMQP? 上面的一些可能是愚蠢的。 :-)但试图把我的头围绕它。

如何立即看到IntelliJ Idea的项目树中的编译错误?

我想知道是否可以configurationIntelliJ Idea立即在项目树中的类文件上显示编译错误。 目前我需要手动触发重新编译,如果类不能被编译,我的类看错误标记。

Java语言中的荣耀类

标准Java API中的某些类与其他类稍有不同。 我正在谈论那些没有编译器和/或JVM的特殊支持就无法实现的类。 我刚刚提出的是: Object (显然),因为它,除其他外,没有一个超级类。 String作为语言对+运算符有特别的支持。 Thread因为它有这个神奇的start()方法,尽pipe没有“分叉”执行的字节码指令。 我想所有这些类都是以这种或那种方式在JLS中提到的。 如我错了请纠正我。 无论如何,还有其他这样的类别存在吗? Java语言中有没有完整的“荣耀类”列表?