คำถามติดแท็ก java

Java เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นที่นิยม ใช้แท็กนี้เมื่อคุณมีปัญหาในการใช้หรือทำความเข้าใจภาษานั้น ๆ แท็กนี้ไม่ค่อยได้ใช้คนเดียวและมักใช้ร่วมกับ [สปริง], [สปริงบูต], [jakarta-ee], [android], [javafx], [gradle] และ [maven]

3
Spring boot 2 ฝัง tomcat 9.0.26 ไม่สามารถโหลดไฟล์สตรีม jks ได้
ฉันพยายามใช้ SSL กับ spring boot 2.2.0 ด้วย tomcat แบบฝัง 9.0.26 แต่ tomcat ไม่สามารถโหลดสตรีมไฟล์ JKS ได้ นี่คือคุณสมบัติการใช้งาน: server.port=443 server.ssl.key-store-type=JKS server.ssl.key-store=C:\\Keystore\\mykey.jks server.ssl.key-store-password=cccc server.ssl.key-alias=*.mydomain.com ข้อยกเว้น: org.springframework.boot.web.server.WebServerException: ไม่สามารถเริ่มต้นเซิร์ฟเวอร์ Tomcat แบบฝังที่ org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] ที่ org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.java:297) บูต BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] ที่ org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] ที่ org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:553) ~ …

3
ลอมบอกทะเยอทะยาน / setter vs Java 14 บันทึก
ฉันชอบโครงการลอมบอกแต่ในวันนี้ฉันกำลังอ่านและลองคุณสมบัติใหม่ของ java 14 ภายในความสามารถใหม่นี้มีคีย์เวิร์ดของเรกคอร์ดที่อนุญาตให้สร้างคลาสที่มีฟังก์ชันการทำงานต่อไปนี้แล้ว: คอนสตรัคเตอร์ฟิลด์สุดท้ายส่วนตัว accessors, equals / hashCode, getters, toString ตอนนี้คำถามของฉันคือดีกว่าที่จะพึ่งพาคุณสมบัติของลอมบอกหรือเราควรเริ่มใช้ฟังก์ชั่นบันทึก: ดีกว่าที่จะใช้สิ่งนี้: record Person (String name, String surname) {} หรือว่า: @AllArgsConstructor @ToString @EqualsAndHashCode public class GetterSetterExample { @Getter private int name; @Getter private int surname; } ข้อดีและข้อเสียของทั้งสองวิธีคืออะไร?

2
java 14 nullpointerexception ไม่มีข้อความโดยละเอียด
Java 14 มีคุณสมบัติใหม่มากมาย หนึ่งในนั้นแสดงข้อความแบบละเอียดใน NullPointerException ฉันติดตั้ง Java 14 และพยายามที่จะรวบรวมและเรียกใช้ชั้นล่าง แต่ฉันไม่ได้รับข้อความรายละเอียดใด ๆ ฉันไม่มีอะไรเลยหรือ กรุณาช่วย. ~/code/demo/temp$ java -version openjdk version "14" 2020-03-17 OpenJDK Runtime Environment AdoptOpenJDK (build 14+36) Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.19.0, JRE 14 Mac OS X amd64-64-Bit Compressed References 20200313_47 (JIT enabled, AOT enabled) OpenJ9 - 0133ba037 OMR - …
10 java  openj9  jdk14 

1
รับรายการการพึ่งพา Maven ของ org.apache.maven.project.MavenProject
ฉันกำลังพยายามหารายการอ้างอิงของสิ่งประดิษฐ์บน 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 …
10 java  maven 

4
peek () และ allMatch () ทำงานร่วมกันอย่างไรใน Java 8 Stream API
ฉันพบคำถามเกี่ยวกับ 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 () วิธีการคือการดำเนินการระดับกลางและจะประมวลผลแต่ละองค์ประกอบในสตรีม ใครสามารถอธิบายฉันนี้

3
การย้ายข้อมูล Amazon PA API 5.0 - ไม่พบการพึ่งพา Maven SDK (พื้นที่เก็บข้อมูลสาธารณะ)
ฉันต้องทำ Amazon PA API Migration ในเดือนมีนาคม ฉันพยายามค้นหาที่เก็บข้อมูลสาธารณะ Maven ที่มีการเผยแพร่ 'PA API 5.0 sdk' นี่คือเอกสารอย่างเป็นทางการ: ลิงค์ มันบอกว่า : ดาวน์โหลดไฟล์ paapi5-java-sdk-and-samples และแตกไฟล์ เปิดโครงการในตัวแก้ไขที่คุณต้องการ เพิ่มขวดทั้งหมดที่มีอยู่ในโฟลเดอร์การอ้างอิงไปยังเส้นทางการสร้าง มันไม่ใช่มืออาชีพและไม่สามารถบำรุงรักษาได้เช่นนี้ .. ขวดเหล่านี้หลายรุ่นเป็นรุ่นเก่า (เช่นปี 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 คุณจะได้รับข้อยกเว้นตัวชี้ null …

4
Wildfly ในคอนเทนเนอร์ Docker ไม่เริ่มทำงาน
ฉันพยายามเข้าถึงหน้ายินดีต้อนรับของ Wildfly ที่ทำงานอยู่ใน Docker container ใน Windows 10 Pro นี่คือสิ่งที่ฉันทำ: ดึงภาพ: 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/แต่เบราว์เซอร์หยุดทำงานและหมดเวลา ฉันกำลังคิดถึงอะไร UPDATE ฉันลองด้วย127.0.0.1:8080และมันก็ไม่ทำงานเช่นกัน UPDATE2 บันทึกของคอนโซล: docker --version #Docker …
10 java  docker  jboss  wildfly  devops 

1
จะทราบได้อย่างไรว่า BigDecimal สามารถแปลงให้ลอยหรือเป็นสองเท่าได้อย่างแน่นอน
Class BigDecimalมีวิธีการที่เป็นประโยชน์ในการรับประกันการแปลงแบบไม่สูญเสีย byteValueExact() shortValueExact() intValueExact() longValueExact() อย่างไรก็ตามวิธีการfloatValueExact()และdoubleValueExact()ไม่ได้อยู่ ผมอ่านรหัสที่มา OpenJDK สำหรับวิธีการและfloatValue() doubleValue()ทั้งคู่ดูเหมือนจะย้อนกลับไปที่Float.parseFloat()และDouble.parseDouble()ตามลำดับซึ่งอาจส่งกลับอินฟินิตี้บวกหรือลบ ตัวอย่างเช่นการแยกสตริง 10,000 9s จะส่งกลับค่าบวกอนันต์ อย่างที่ฉันเข้าใจBigDecimalไม่มีแนวคิดเกี่ยวกับอินฟินิตี้ภายใน นอกจากนี้การแยกสตริงของ 100 9s ตามที่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"ฉันต้องการลบสตริงแรกจากกระแส สำหรับสตริงอื่น ๆ จากสตรีมฉันไม่ต้องการการตรวจสอบนี้ ฉันจะปวดร้าวได้อย่างไร PS แน่ใจว่าฉันสามารถแปลงเป็นรายการจากนั้นใช้โรงเรียนเก่าสำหรับวง แต่ต่อไปฉันต้องสตรีมอีกครั้ง

1
มีทางเลือกอะไรบ้างในการ @SafeHtml ของ Hibernate Validator เพื่อตรวจสอบความถูกต้องของ Strings
ตามที่ระบุใน JavaDocs มันจะถูกลบออกในอนาคต มีห้องสมุดทางเลือกอื่นที่ทำงานคล้ายกันผ่านบันทึกย่อหรือไม่

2
ตรวจจับ SimCard เป้าหมายของการโทรเข้าในอุปกรณ์ Multi-Sim
ฉันได้อ่านบทความจำนวนมากและลองใช้วิธีแก้ไขปัญหาต่าง ๆ มากมาย แต่จุดร่วมของโพสต์ทั้งหมดก็คือพวกเขาทั้งหมดล้าสมัยและอย่างน้อยฉันก็ไม่พบวิธีแก้ปัญหาที่จะทำงานบน 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) { …

1
จับข้อยกเว้นและ rethrowing แต่ไม่ใช่ข้อยกเว้น
ฉันสะดุดรหัสมองสิ่งนี้: void run() { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " + ex); throw ex; } } void doSomething() { throw new RuntimeException(); } รหัสนี้ทำให้ฉันประหลาดใจเพราะมันดูเหมือนว่า - วิธีการที่run()มีความสามารถในการโยนExceptionเพราะมันจับExceptionแล้ว rethrows แต่วิธีการที่ไม่ได้ประกาศว่าจะโยนExceptionและเห็นได้ชัดว่าไม่จำเป็นต้องเป็น รหัสนี้รวบรวมได้ดี (ใน Java 11 อย่างน้อย) ความคาดหวังของฉันคือฉันจะต้องประกาศthrows Exceptionในrun()-method ข้อมูลเพิ่มเติม ในทำนองเดียวกันหากdoSomethingมีการประกาศให้โยนIOExceptionดังนั้นIOExceptionจะต้องประกาศในวิธีการrun()เท่านั้นแม้ว่าExceptionจะถูกจับและโยนใหม่ void run() throws IOException { try { doSomething(); } …
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
การจัดการข้อยกเว้นด้วยสตรีม
ฉันมี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อาจไม่ได้แสดงอย่างถูกต้อง a Long; อาจมีปัญหาบางอย่าง Long::valueOfอาจเพิ่มข้อยกเว้น หากเป็นกรณีนี้ฉันต้องการคืนค่าว่างหรือไม่Map<String,List<Long>> เพราะฉันต้องการทำซ้ำหลังจากผ่านoutputแผนที่นี้ แต่ฉันไม่สามารถยอมรับการแปลงผิดพลาดได้ ไม่แม้แต่คนเดียว มีความคิดเกี่ยวกับวิธีที่ฉันสามารถคืนเอาต์พุตว่างในกรณีที่ String ไม่ถูกต้อง -> การแปลงยาว?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.