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

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

11
ยอมรับใบรับรอง SSL ที่ลงนามเองของเซิร์ฟเวอร์ในไคลเอ็นต์ Java
ดูเหมือนคำถามทั่วไป แต่ฉันไม่สามารถหาเส้นทางที่ชัดเจนได้ทุกที่ ฉันมีรหัส java พยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่อาจมีใบรับรองที่ลงชื่อด้วยตนเอง (หรือหมดอายุ) รหัสรายงานข้อผิดพลาดต่อไปนี้: [HttpMethodDirector] I/O exception (javax.net.ssl.SSLHandshakeException) caught when processing request: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ตามที่ฉันเข้าใจฉันต้องใช้keytoolและบอก java ว่าตกลงเพื่ออนุญาตการเชื่อมต่อนี้ คำแนะนำทั้งหมดในการแก้ไขปัญหานี้ถือว่าฉันมีความเชี่ยวชาญอย่างเต็มที่กับ keytool เช่น สร้างไพรเวตคีย์สำหรับเซิร์ฟเวอร์และนำเข้าสู่ที่เก็บคีย์ มีใครบ้างที่สามารถโพสต์คำแนะนำโดยละเอียด? ฉันใช้ระบบยูนิกซ์ดังนั้นสคริปต์ทุบตีจะดีที่สุด ไม่แน่ใจว่าสำคัญหรือไม่ แต่มีการใช้รหัสใน jboss
215 java  ssl  https  keytool 

5
วิธีจัดรูปแบบตัวเลข 0..9 เพื่อแสดงด้วย 2 หลัก (ไม่ใช่วันที่)
ฉันต้องการแสดงตัวเลขต่ำกว่า 100 ด้วย 2 หลักเสมอ (ตัวอย่าง: 03, 05, 15 ... ) ฉันจะต่อท้าย 0 โดยไม่ใช้เงื่อนไขเพื่อตรวจสอบว่ามันต่ำกว่า 10 ได้อย่างไร? ฉันต้องการผนวกผลลัพธ์ไปยัง String อื่นดังนั้นฉันจึงไม่สามารถใช้ printf

12
วิธีรับมุมมองรายการแบบย้อนกลับในรายการใน Java
ฉันต้องการให้มีมุมมองรายการแบบย้อนกลับในรายการ (ในลักษณะที่คล้ายกันกว่าList#sublistให้มุมมองรายการย่อยในรายการ) มีฟังก์ชั่นที่ให้ฟังก์ชั่นนี้บ้าง? ฉันไม่ต้องการทำสำเนารายการหรือแก้ไขรายการ มันจะเพียงพอถ้าฉันได้อย่างน้อย iterator กลับรายการในกรณีนี้แม้ว่า นอกจากนี้ฉันรู้วิธีที่จะใช้ตัวเอง ฉันแค่ถามว่า Java ให้อะไรเช่นนี้แล้ว การสาธิตการใช้งาน: static <T> Iterable<T> iterableReverseList(final List<T> l) { return new Iterable<T>() { public Iterator<T> iterator() { return new Iterator<T>() { ListIterator<T> listIter = l.listIterator(l.size()); public boolean hasNext() { return listIter.hasPrevious(); } public T next() { return listIter.previous(); } public …

15
Java associative-array
ฉันจะสร้างและดึงข้อมูลอาเรย์แบบเชื่อมโยงใน Java อย่างที่ฉันสามารถทำได้ใน PHP ได้อย่างไร ตัวอย่างเช่น: $arr[0]['name'] = 'demo'; $arr[0]['fname'] = 'fdemo'; $arr[1]['name'] = 'test'; $arr[1]['fname'] = 'fname';

7
สำเนา Java ArrayList
ฉันมีArrayList l1ขนาด 10 ฉันกำหนดประเภทอ้างอิงรายการใหม่l1 l2จะl1และl2ชี้ไปที่ArrayListวัตถุเดียวกันหรือไม่ หรือเป็นสำเนาของArrayListวัตถุที่กำหนดให้l2? เมื่อใช้การl2อ้างอิงถ้าฉันอัปเดตวัตถุรายการมันสะท้อนถึงการเปลี่ยนแปลงในl1ประเภทการอ้างอิงด้วย ตัวอย่างเช่น: List<Integer> l1 = new ArrayList<Integer>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear(); ไม่มีวิธีอื่นในการกำหนดสำเนาของวัตถุรายการให้กับตัวแปรอ้างอิงใหม่นอกเหนือจากการสร้างวัตถุ 2 รายการและทำสำเนาบนคอลเล็กชันจากเก่าไปใหม่หรือไม่
214 java  arraylist 

7
การเริ่มต้นตัวแปรหลายตัวให้เป็นค่าเดียวกันใน Java
ฉันกำลังมองหาวิธีที่สะอาดและมีประสิทธิภาพในการประกาศตัวแปรหลายตัวที่เป็นประเภทเดียวกันและมีค่าเท่ากัน ตอนนี้ฉันมี: String one = "", two = "", three = "" etc... แต่ฉันกำลังมองหาบางสิ่งที่ชอบ: String one,two,three = "" นี่เป็นสิ่งที่สามารถทำได้ใน java หรือไม่? การรักษาประสิทธิภาพไว้ในใจ

12
Base 64 เข้ารหัสและถอดรหัสตัวอย่างรหัส
ไม่มีใครรู้วิธีถอดรหัสและเข้ารหัสสตริงใน Base64 โดยใช้ Base64 ฉันใช้รหัสต่อไปนี้ แต่มันไม่ทำงาน String source = "password"; byte[] byteArray = source.getBytes("UTF-16"); Base64 bs = new Base64(); //bs.encodeBytes(byteArray); System.out.println( bs.encodeBytes(byteArray)); //bs.decode(bs.encodeBytes(byteArray)); System.out.println(bs.decode(bs.encodeBytes(byteArray)));
214 java  android  base64 

30
วิธีที่ดีที่สุดในการตรวจสอบว่าสตริงแสดงถึงจำนวนเต็มใน Java คืออะไร?
ปกติฉันจะใช้สำนวนต่อไปนี้เพื่อตรวจสอบว่า String สามารถแปลงเป็นจำนวนเต็มได้หรือไม่ public boolean isInteger( String input ) { try { Integer.parseInt( input ); return true; } catch( Exception e ) { return false; } } มันเป็นเพียงฉันหรือว่านี้ดูเหมือนแฮ็คเล็กน้อย? เป็นวิธีที่ดีกว่าอะไร ดูคำตอบของฉัน (พร้อมด้วยมาตรฐานอ้างอิงจากคำตอบก่อนหน้าโดยCodingWithSpike ) เพื่อดูว่าทำไมฉันถึงกลับตำแหน่งของฉันและยอมรับคำตอบของ Jonas Klemming เกี่ยวกับปัญหานี้ ฉันคิดว่าคนส่วนใหญ่จะใช้รหัสดั้งเดิมนี้ได้เนื่องจากมันใช้งานได้เร็วกว่าและบำรุงรักษาได้มากกว่า แต่คำสั่งของขนาดจะช้าลงเมื่อให้ข้อมูลที่ไม่ใช่จำนวนเต็ม
214 java  string  int 


9
JUnit 5: วิธียืนยันข้อยกเว้นถูกโยนทิ้งอย่างไร
มีวิธีที่ดีกว่าในการยืนยันว่าวิธีการใดมีข้อยกเว้นใน JUnit 5 หรือไม่? ขณะนี้ฉันต้องใช้ @Rule เพื่อตรวจสอบว่าการทดสอบของฉันมีข้อยกเว้น แต่ไม่สามารถใช้งานได้ในกรณีที่ฉันคาดว่าจะมีวิธีการมากมายที่จะใช้การยกเว้นในการทดสอบ

10
ทำไมหนึ่งควรใช้ Objects.requireNonNull ()
ผมได้ตั้งข้อสังเกตว่าหลาย Java 8 วิธีใน Oracle JDK การใช้งานObjects.requireNonNull()ซึ่งภายในพ่นNullPointerExceptionถ้าวัตถุที่กำหนด (อาร์กิวเมนต์) nullเป็น public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } แต่NullPointerExceptionจะถูกโยนทิ้งหากnullวัตถุถูกยกเลิกการลงทะเบียน ดังนั้นทำไมหนึ่งควรทำนี้ตรวจสอบโมฆะพิเศษและโยน NullPointerException? หนึ่งคำตอบที่ชัดเจน (หรือประโยชน์) คือมันทำให้โค้ดอ่านง่ายขึ้นและฉันเห็นด้วย ฉันกระตือรือร้นที่จะทราบเหตุผลอื่น ๆ ที่ใช้ Objects.requireNonNull()ในการเริ่มต้นของวิธีการ

18
จำนวนบรรทัดในไฟล์ใน Java
ฉันใช้ไฟล์ข้อมูลขนาดใหญ่บางครั้งฉันจำเป็นต้องรู้จำนวนบรรทัดในไฟล์เหล่านี้เท่านั้นโดยปกติฉันจะเปิดอ่านแล้วอ่านทีละบรรทัดจนกว่าจะถึงจุดสิ้นสุดไฟล์ ฉันสงสัยว่ามีวิธีที่ชาญฉลาดกว่านี้หรือไม่

9
ไม่สามารถเรียกใช้ dex: GC เกินขีด จำกัด โอเวอร์เฮดใน Eclipse
เมื่อฉันดาวน์โหลดโครงการ Git OsmAndและไปรวบรวม Eclipse จะส่งคืนข้อผิดพลาดเหล่านี้: [Dex Loader] Unable to execute dex: GC overhead limit exceeded [OsmAnd] Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded Google และ Stackoverflow บอกว่าผมต้องเปลี่ยนใน -Xms40m -Xmx384m แปลงให้เป็นรูปแบบ Dalvik ล้มเหลว: ไม่สามารถที่จะดำเนินการ Dex: Java พื้นที่กอง ฉันล้างโปรเจ็กต์และรีสตาร์ท Eclipse แต่ไม่ช่วยeclipse.ini ฉันพบลิงค์นี้: คำแนะนำสำหรับนักพัฒนา Android:“ การแปลงเป็นรูปแบบ Dalvik …


9
วิธีการตั้งค่า JDK Netbeans ทำงานบน?
ฉันมี NB6.7, NB6.9, NB7.0 ที่เก่ากว่าซึ่งเคยใช้กับ jdk1.6.0_21 และ jdk1.6.0_25 ตอนนี้ฉันได้ลบ JDK เหล่านั้นและเหลือเพียง jdk1.6.0_26 และ jdk1.7.0 แต่ฉันยังต้องการเก็บ NB ที่เก่ากว่าเอาไว้ แต่ตอนนี้เมื่อฉันรันพวกเขาฉันได้รับข้อความนี้: "ไม่สามารถค้นหาตำแหน่งการติดตั้ง java ใน jdkhome C: \ Program Files (x86) \ Java \ jdk1.6.0_25 ที่ระบุคุณต้องการลองใช้เวอร์ชั่นเริ่มต้นหรือไม่" ฉันพยายามหาที่ "jdk1.6.0_25" และอัพเดตไฟล์กำหนดค่าไม่กี่ไฟล์ใน "C: \ Program Files (x86) \ NetBeans 6.7" และ "C: \ Users \ USER.nbi \ …
213 java  netbeans 

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