Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

6
解析Java中的任何日期
我知道这个问题已经问了很多,显然您不能解析任何日期。但是,我发现python-dateutil库能够解析我向它抛出的每个日期,而同时,在找出日期格式字符串方面绝对需要零的工作。Joda time始终被当作是出色的Java日期解析器而出售,但是它仍然需要您在选择格式(或创建自己的格式)之前确定日期的格式。您不能只调用DateFormatter.parse(mydate)并神奇地获取Date对象。 例如,日期“ Wed Mar 04 05:09:06 GMT-06:00 2009”已使用python-dateutil正确解析: import dateutil.parser print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009') 但是以下Joda时间呼叫无法正常工作: String date = "Wed Mar 04 05:09:06 GMT-06:00 2009"; DateTimeFormatter fmt = ISODateTimeFormat.dateTime(); DateTime dt = fmt.parseDateTime(date); System.out.println(date); 创建自己的DateTimeFormatter不能达到目的,因为这似乎与使用带有正确格式字符串的SimpleDateFormatter相同。 有没有类似的方法可以在Java中解析日期,例如python-dateutil?我不在乎错误,我只是希望它几乎是完美的。
78 java  date 

6
[L数组符号-它来自哪里?
我经常看到消息,[L然后使用类型来表示数组,例如: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; (以上是我刚刚拔出的一个任意示例。)我知道这表示一个数组,但是语法从何而来?为什么要开始[却没有结束方括号?为什么是L?它是纯粹武断的还是背后有其他历史/技术原因?
78 java  arrays 


4
为现有流添加新价值
有没有一种向现有价值添加新价值的好方法Stream?我能想象的是这样的: public <T> Stream<T> addToStream(Stream<T> stream, T elem ) { List<T> result = stream.collect(Collectors.toList()); result.add(elem); return result.stream(); } 但我正在寻找可以在lambda表达中使用的更简洁的内容,而无需冗长。 当我尝试实施PECS原理时出现了另一个问题: public <T> Stream<? super T> addToStream(Stream<? super T> stream, T elem ) { List<? super T> result = stream.collect(Collectors.toList()); //error result.add(elem); return result.stream(); } 似乎通配符不起作用Stream.collect,我想知道为什么。提前致谢。
78 java  java-8  wildcard 


2
为什么\ R在Java 8和Java 9之间的正则表达式中表现不同?
以下代码在Java 8和9中都可以编译,但是行为不同。 class Simple { static String sample = "\nEn un lugar\r\nde la Mancha\nde cuyo nombre\r\nno quiero acordarme"; public static void main(String args[]){ String[] chunks = sample.split("\\R\\R"); for (String chunk: chunks) { System.out.println("Chunk : "+chunk); } } } 当我使用Java 8运行它时,它返回: Chunk : En un lugar de la Mancha de cuyo …
78 java  regex  unicode  java-8  java-9 

3
有没有办法比较lambda?
说我有一个使用lambda表达式(闭包)定义的对象列表。有没有一种方法可以检查它们以便进行比较? 我最感兴趣的代码是 List<Strategy> strategies = getStrategies(); Strategy a = (Strategy) this::a; if (strategies.contains(a)) { // ... 完整的代码是 import java.util.Arrays; import java.util.List; public class ClosureEqualsMain { interface Strategy { void invoke(/*args*/); default boolean equals(Object o) { // doesn't compile return Closures.equals(this, o); } } public void a() { } public void …
78 java  lambda  java-8 

13
秒表基准测试可以接受吗?
是否有人曾经使用秒表基准测试,还是应该一直使用性能工具?是否有适用于Java的良好免费工具?您使用什么工具? 为了澄清我的担忧,秒表基准测试会因操作系统调度而出错。在给定的程序运行中,操作系统可能会在您要计时的功能中间安排另一个(或几个)进程。在Java中,如果您想定时一个线程化的应用程序,情况会变得更糟,因为JVM调度程序将更多的随机性引入了混合中。 基准测试时如何处理操作系统调度?

3
在哪里可以找到多种语言的正则表达式的单元测试?
我正在http://www.debuggex.com上构建正则表达式帮助器。我想显示的细节量要求我编写自己的解析器和匹配器。 为了确保解析器和匹配器正常工作,我针对正则表达式的Javascript编写了自己的单元测试,但是这些仅涵盖了我所知道的边缘情况。我想使用一个标准的测试套件,最近指向我将要使用的http://hg.ecmascript.org/tests/test262/summary。 我的问题是,在哪里可以找到其他正则表达式口味的测试套件?我希望将来能支持其他口味。我无法通过谷歌搜索找到任何东西(“测试”会用正则表达式测试器污染结果)。我正在寻找针对python,php,perl,java,ruby和.net语言的测试套件。
78 java  php  javascript  .net  regex 

10
找不到指定的VM安装:键入Standard VM,名称jre7
找不到指定的VM安装:类型Standard VM,名称jre7在构建ant文件时在Eclipse中遇到过此问题吗?然后,本文适合您。删除并重新创建工作空间不是解决方案。有一个简单的解决方案,无需重新创建工作空间即可解决此问题。
78 java  eclipse  ant 

10
我应何时在ExecutorService上使用CompletionService?
我刚刚在此博客文章中找到了CompletionService 。但是,这并没有真正展示CompletionService相对于标准ExecutorService的优势。可以使用任一代码编写相同的代码。那么,什么时候CompletionService有用? 您能否提供简短的代码示例以使其清晰可见?例如,此代码示例仅显示不需要CompletionService的位置(=等同于ExecutorService) ExecutorService taskExecutor = Executors.newCachedThreadPool(); // CompletionService<Long> taskCompletionService = // new ExecutorCompletionService<Long>(taskExecutor); Callable<Long> callable = new Callable<Long>() { @Override public Long call() throws Exception { return 1L; } }; Future<Long> future = // taskCompletionService.submit(callable); taskExecutor.submit(callable); while (!future.isDone()) { // Do some work... System.out.println("Working on something..."); } try { …


2
是否可以让Ant打印出特定目标的类路径?如果是这样,怎么办?
我正在尝试建立一个目标,该目标的元素(在build.xml文件中)<pathelement location="${xxx}"/>和<path refid="foo.class.path"/>元素的列表很长<path id="bar.class.path">。我不断收到“包com.somecompany.somepackage不存在”的错误,并且我很难追逐这些包并确保已从我们的存储库同步它们。 我是这个团队的新手,所以我对构建并不熟悉,但是如果可能的话,我宁愿自己弄清楚(因此,我不会打扰其他非常忙碌的团队成员)。我在Ant方面的经验非常有限。 我认为,如果我可以让Ant打印出我要构建的目标的类路径,这将为我节省很多时间。
78 java  ant  classpath  target 

7
预期进行BEGIN_OBJECT的改造,但进行BEGIN_ARRAY
我是JSON解析的新手,我使用Square的Retrofit库,遇到了这个问题。 我正在尝试解析此JSON响应: [ { "id": 3, "username": "jezer", "regid": "oiqwueoiwqueoiwqueoiwq", "url": "http:\/\/192.168.63.175:3000\/users\/3.json" }, { "id": 4, "username": "emulator", "regid": "qwoiuewqoiueoiwqueoq", "url": "http:\/\/192.168.63.175:3000\/users\/4.json" }, { "id": 7, "username": "test", "regid": "ksadqowueqiaksj", "url": "http:\/\/192.168.63.175:3000\/users\/7.json" } ] 这是我的模型: public class Contacts { public List<User> contacts; } ... public class User { String username; …
78 java  android  json  gson  retrofit 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.