Questions tagged «java»

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

1
获取org.apache.maven.project.MavenProject的Maven依赖项列表
我试图使用列出一些Maven工件的依赖项org.apache.maven.project.MavenProject。 我的代码是这样的。 public List<Dependencies> loadProject() { Model mavenModel = new Model(); mavenModel.setModelVersion("4.0.0"); mavenModel.setGroupId("org"); mavenModel.setArtifactId("wso2"); mavenModel.setVersion("1.0.0"); addDependency(mavenModel, "com.google.inject", "guice", "4.2.2"); addDependency(mavenModel, "ch.qos.logback", "logback-classic", "1.2.3"); MavenProject mavenProject = new MavenProject(mavenModel); //******* Need to resolve dependencies of `mavenProject` and ******* //******* get the list of dependencies of this project. ******* return dependencies; } …
10 java  maven 

4
peek()和allMatch()如何在Java 8 Stream API中一起工作
我发现了一个关于peek方法的Java 8 Stream API的测验,如下所示 Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); 输出是 Fred Jim 我对此流的工作方式感到困惑吗?我的预期结果应该是 Fred Jim Sheila peek()方法是一个中间操作,它处理Stream中的每个元素。谁能解释这个。

3
Amazon PA API 5.0迁移-找不到Maven SDK依赖项(公共存储库)
我需要在3月进行Amazon PA API迁移。我试图找到一个发布了“ PA API 5.0 sdk”的Maven公共存储库。 这是官方文档:链接 它说 : 下载paapi5-java-sdk-and-samples存档并解压缩。 在您喜欢的任何编辑器中打开项目。 将依赖文件夹中存在的所有jar添加到构建路径。 这样做不是专业的,也不是可维护的。 这些罐子中的许多罐子都是旧版本(2016年类似)。 我试图与AWS PA API支持联系,但得到了一般答复(阅读文档等)。 有什么建议吗?您知道Java非官方库吗?谢谢

1
赋值时,Java三元行为异常。Java在幕后为此做了什么?
几天前,我遇到了一个令人着迷的场景,我找不到任何有关Java如何或为什么使以下情况发生的文档。(此代码段只是该错误的简化形式。) @Test public void test() { boolean bool = false; Integer intVal = Integer.valueOf(5); Long longVal = null; Long result = bool ? intVal : longVal; System.out.println(" > " + result); } 在上面的代码段中: 如果bool = true,则得到的值为'5'; 但是如果bool = false,则在尝试评估三元运算时会得到空指针异常。不是打印语句。 为了解决这个问题,我只是将“结果”更改为 Long result = bool ? Long.valueOf(intVal) : longVal; 这样做,将给出我所需的预期行为: 如果bool …

4
Docker容器中的Wildfly无法启动
我正在尝试访问在Windows 10 Pro中的Docker容器上运行的Wildfly的欢迎页面。这是我所做的: 拉出图片: docker pull jboss/wildfly 运行Wildfly容器(这很好,在Wildfly日志中,我可以看到它已正确启动): docker run -it -p 8080:8080 jboss/wildfly 查找容器ID: docker ps 检查IP地址: docker inspect -f "{{ .NetworkSettings.IPAddress }}" cac63ed21d78 IP地址是172.17.0.2,在浏览器中,我转到http://172.17.0.2:8080/,但是浏览器挂起并超时。我想念什么? 更新 我也尝试过127.0.0.1:8080,但也不起作用 更新2 控制台日志: docker --version #Docker version 19.03.1, build 74b1e89e8a docker run hello-world #Hello from Docker! docker run --detach --publish 8080:80 --name webserver …
10 java  docker  jboss  wildfly  devops 

1
如何知道BigDecimal是否可以完全转换为float或double?
类BigDecimal有一些有用的方法来保证无损转换: byteValueExact() shortValueExact() intValueExact() longValueExact() 但是,方法floatValueExact()和doubleValueExact()不存在。 我阅读了有关方法floatValue()和的OpenJDK源代码doubleValue()。两者似乎分别回退到Float.parseFloat()和Double.parseDouble(),它们可能返回正无穷大。例如,解析10,000个9s的字符串将返回正无穷大。据我了解,BigDecimal没有内部无限的概念。此外,解析100路787-9的字符串作为double给出1.0E100,这是不无穷大,但失去精度。 什么是一个合理的实现floatValueExact()和doubleValueExact()? 我想到了一个double解决方案相结合BigDecimal.doubleValue(),BigDecial.toString(),Double.parseDouble(String)和Double.toString(double),但它看起来凌乱。我想问一下这里,因为可能(必须!)是一个更简单的解决方案。 需要明确的是,我不需要高性能的解决方案。
10 java  bigdecimal 

8
有条件地从流中删除第一个(索引为零)元素
我有以下代码: Stream<String> lines = reader.lines(); 如果第一个字符串等于"email"我要从流中删除第一个字符串。对于流中的其他字符串,我不需要此检查。 我怎么能做到? 聚苯乙烯 当然,我可以将其转换为列表,然后使用旧式进行循环,但是进一步,我需要再次播放流。


2
在Multi-Sim设备中检测来电的目标SimCard
我读了很多文章并尝试了许多解决方案,但是所有文章的共同点是它们都已过时,至少我找不到能在较新版本的Android上运行的解决方案。 发布1,结果: intent.getExtras().getInt("simId", -1)总是返回-1 发布2,结果:intent.getExtras().getInt("slot", -1)总是返回-1 发表3,结果: String[] array = new String[]{ "extra_asus_dial_use_dualsim", "com.android.phone.extra.slot", "slot", "simslot", "sim_slot", "subscription", "Subscription", "phone", "com.android.phone.DialingMode", "simSlot", "slot_id", "simId", "simnum", "phone_type", "slotId", "slotIdx" }; for (String item : array) { Log.i(TAG, "Sim Card - " + item + " -----> " + intent.getExtras().getInt(item)); } 日志: …

1
捕获并重新抛出异常,但这不是异常
我偶然发现代码看起来像这样: void run() { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " + ex); throw ex; } } void doSomething() { throw new RuntimeException(); } 这段代码使我感到惊讶,因为它看起来像run()-method能够抛出an Exception,因为它可以捕获Exception然后重新抛出它,但是该方法未声明为throw Exception,显然不需要。这段代码可以很好地编译(至少在Java 11中)。 我的期望是我必须throws Exception在run()-method中声明。 额外的信息 以类似的方式,如果doSomething被声明为throw,IOException那么即使被捕获并重新抛出,也只需IOException在run()-method中进行声明Exception。 void run() throws IOException { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " …
10 java  exception  throws 

6
如何在Java中从给定的地图值中查找最新日期
我有下面的值的哈希映射,在值中我已经日期为字符串数据类型。我想比较地图中所有可用的日期,并仅提取一个具有最近日期的键值。 我想与值而不是键进行比较。 我已包含以下代码 import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("1", "1999-01-01"); map.put("2", "2013-10-11"); map.put("3", "2011-02-20"); map.put("4", "2014-09-09"); map.forEach((k, v) -> System.out.println("Key : " + k + " Value : " + v)); } } 预期的输出是: 关键4值2014-09-09

4
使用流处理异常
我有一个,Map<String,List<String>>并希望将其变成,Map<String,List<Long>>因为String列表中的每个代表一个Long: Map<String,List<String>> input = ...; Map<String,List<Long>> output= input.entrySet() .stream() .collect(toMap(Entry::getKey, e -> e.getValue().stream() .map(Long::valueOf) .collect(toList())) ); 我主要的问题是每个人String可能不能正确代表一个Long; 可能有一些问题。Long::valueOf可能会引发例外情况。如果是这种情况,我想返回一个null或空Map<String,List<Long>> 因为我想遍历这张output地图。但是我不能接受任何错误转换。甚至没有一个。关于如何在不正确的String-> Long转换的情况下如何返回空输出的任何想法?

2
将Akka流传递到上游服务以进行填充
我需要调用上游服务(Azure Blob服务)以将数据推送到OutputStream,然后需要通过akka转过来并将其推送回客户端。没有akka(只有servlet代码),我只需要获取ServletOutputStream并将其传递给azure服务的方法即可。 我可以尝试碰到的最接近的东西,显然这是错误的,是这样的 Source<ByteString, OutputStream> source = StreamConverters.asOutputStream().mapMaterializedValue(os -> { blobClient.download(os); return os; }); ResponseEntity resposeEntity = HttpEntities.create(ContentTypes.APPLICATION_OCTET_STREAM, preAuthData.getFileSize(), source); sender().tell(new RequestResult(resposeEntity, StatusCodes.OK), self()); 我的想法是,我正在调用上游服务,以通过调用blobClient.download(os)获得填充的输出流; 似乎lambda函数被调用并返回,但是随后它失败了,因为没有数据或其他东西。好像我不应该让那个lambda函数来完成这项工作,但是也许返回一些可以完成这项工作的对象?不确定。 如何做到这一点?

6
安装NetBeans时如何解决错误?
我已经安装了Java并试图在Windows 10上安装NetBeans 11.3,但是在运行exe之后。安装程序,弹出错误消息: 线程main java.lang.NoClassDefFoundError java / util / jar / Pack200中发生意外的异常
9 java  netbeans 

4
迭代和复制HashMap值的有效方法
我要转换: Map<String, Map<String, List<Map<String, String>>>> inputMap 至: Map<String, Map<String, CustomObject>> customMap inputMap在配置中提供并准备就绪,但我需要customMap格式化。CustomObject将派生自List<Map<String, String>>在函数中使用几行代码。 我尝试了一种迭代输入映射并在customMap中复制键值的常规方法。使用Java 8或其他快捷方式有什么有效的方法吗? Map<String, Map<String, List<Map<String, String>>>> configuredMap = new HashMap<>(); Map<String, Map<String, CustomObj>> finalMap = new HashMap<>(); for (Map.Entry<String, Map<String, List<Map<String, String>>>> attributeEntry : configuredMap.entrySet()) { Map<String, CustomObj> innerMap = new HashMap<>(); for (Map.Entry<String, List<Map<String, String>>> valueEntry …

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.