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

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


16
@BeforeClass และการสืบทอด - ลำดับการดำเนินการ
ฉันมีคลาสพื้นฐานนามธรรมซึ่งฉันใช้เป็นฐานสำหรับการทดสอบหน่วยของฉัน (TestNG 5.10) ในคลาสนี้ฉันเตรียมใช้งานสภาพแวดล้อมทั้งหมดสำหรับการทดสอบการตั้งค่าการแมปฐานข้อมูล ฯลฯ คลาสนามธรรมนี้มีวิธีการที่มี@BeforeClassคำอธิบายประกอบซึ่งจะทำการเริ่มต้น ต่อไปฉันจะขยายคลาสนั้นด้วยคลาสเฉพาะซึ่งฉันมี@Testวิธีการและ@BeforeClassวิธีการ วิธีการเหล่านี้ทำการกำหนดค่าเริ่มต้นเฉพาะคลาสของสภาพแวดล้อม (เช่นใส่บันทึกบางส่วนลงในฐานข้อมูล) ฉันจะบังคับใช้คำสั่งเฉพาะของ@BeforeClassวิธีการที่มีคำอธิบายประกอบได้อย่างไร ฉันต้องการคนที่มาจากคลาสฐานนามธรรมเพื่อดำเนินการก่อนคลาสขยาย ตัวอย่าง: abstract class A { @BeforeClass doInitialization() {...} } class B extends A { @BeforeClass doSpecificInitialization() {...} @Test doTests() {...} } คำสั่งซื้อที่คาดหวัง: A.doInitialization B.doSpecificInitialization B.doTests ลำดับจริง: B.doSpecificInitialization // <- crashes, as the base init is missing (A.doInitialization // <---not …

3
อินสแตนซ์ปิดล้อมที่มี <my reference> เป็นสิ่งจำเป็น
จำเป็นต้องมีอินสแตนซ์ปิดล้อมที่มี ด้านล่างนี้คือรหัส positionObjเป็นวัตถุที่ฉันพยายามใช้และมันทำให้ฉันมีข้อผิดพลาดข้างต้น มันไม่ชัดเจนว่าทำไม package toolBox; import toolBox.Secretary.positionObj; public class PositionManagement { public static HashMap&lt;String, Secretary.positionObj&gt; main(String vArg){ positionObj newPosition=new positionObj(); } }
93 java  instance 

3
Uninitialized Object เทียบกับ Object ที่เริ่มต้นเป็น NULL
ฉันทำงานใน Java ฉันมักจะตั้งค่าวัตถุบางอย่างเช่นนี้: public class Foo { private SomeObject someName; // do stuff public void someMethod() { if (this.someName != null) { // do some stuff } } } คำถามคือ: someNameในตัวอย่างนี้เท่ากับnullหรือไม่ในขณะที่ฉันสามารถreliably for all objectsสมมติว่าการตรวจสอบค่า null อ็อบเจ็กต์ที่ไม่ได้กำหนดค่าเริ่มต้นจะถูกต้องหรือไม่

13
นิพจน์ทั่วไปสำหรับ "จำนวนเต็มบวกใด ๆ ยกเว้น 0"
วิธีการสามารถ^\d+$ได้รับการปรับปรุงให้ไม่อนุญาต0? แก้ไข (ทำให้เป็นรูปธรรมมากขึ้น): ตัวอย่างที่จะอนุญาตให้: 1 30 111 ตัวอย่างเพื่อไม่อนุญาต: 0 00 -22 ไม่สำคัญว่าจะอนุญาตให้ใช้ตัวเลขบวกที่มีศูนย์นำหน้าได้หรือไม่ (เช่น022) สำหรับการใช้งาน Java JDK Regex
93 java  regex 

8
อ่านเนื้อหาการตอบสนองข้อผิดพลาดใน Java
ใน Java รหัสนี้แสดงข้อยกเว้นเมื่อผลลัพธ์ HTTP คือช่วง 404: URL url = new URL("http://stackoverflow.com/asdf404notfound"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.getInputStream(); // throws! ในกรณีของฉันฉันรู้ว่าเนื้อหาเป็น 404 แต่ฉันก็ยังอยากอ่านเนื้อหาของคำตอบอยู่ดี (ในกรณีจริงของฉันรหัสตอบกลับคือ 403 แต่เนื้อหาของการตอบกลับอธิบายเหตุผลของการปฏิเสธและฉันต้องการแสดงให้ผู้ใช้เห็น) ฉันจะเข้าถึงเนื้อหาตอบสนองได้อย่างไร?


6
กำลังใช้ java Map.containsKey () ซ้ำซ้อนเมื่อใช้ map.get ()
ฉันสงสัยมาระยะหนึ่งแล้วว่ามันเป็นไปได้หรือไม่ตามแนวทางปฏิบัติที่ดีที่สุดที่จะละเว้นจากการใช้containsKey()วิธีการjava.util.Mapและทำการตรวจสอบค่าว่างกับผลลัพธ์จากget(). เหตุผลของฉันที่ดูเหมือนว่าจะทำซ้ำซ้อนการค้นหาของมูลค่าสองครั้ง - ครั้งแรกสำหรับและจากนั้นอีกครั้งสำหรับcontainsKey()get() ในทางกลับกันอาจเป็นไปได้ว่าการใช้Mapแคชมาตรฐานส่วนใหญ่ในการค้นหาครั้งสุดท้ายหรือคอมไพลเลอร์สามารถกำจัดความซ้ำซ้อนได้และเพื่อความสามารถในการอ่านโค้ดจึงควรรักษาcontainsKey()ส่วนนั้นไว้ ฉันจะขอบคุณมากสำหรับความคิดเห็นของคุณ

2
การใช้ไฟล์ MANIFEST.MF ใน Java
ฉันสังเกตเห็นว่าไฟล์ JAR, WAR และ EAR มีMANIFEST.MFไฟล์อยู่ใต้META-INFโฟลเดอร์ ใช้MANIFEST.MFไฟล์อะไรครับ? ไฟล์นี้ระบุอะไรได้ทั้งหมด
93 java  manifest.mf 

25
วิธีที่ดีในการห่อหุ้ม Integer.parseInt ()
ฉันมีโปรเจ็กต์ที่เรามักจะใช้Integer.parseInt()ในการแปลง String เป็น int เมื่อมีบางอย่างผิดพลาด (ตัวอย่างเช่นStringไม่ใช่ตัวเลข แต่เป็นตัวอักษรaหรืออะไรก็ตาม) วิธีนี้จะทำให้เกิดข้อยกเว้น อย่างไรก็ตามหากฉันต้องจัดการกับข้อยกเว้นในโค้ดของฉันทุกที่สิ่งนี้จะเริ่มดูน่าเกลียดอย่างรวดเร็ว ฉันต้องการใส่วิธีนี้ แต่ฉันไม่มีเงื่อนงำในการส่งคืนค่าที่สะอาดเพื่อแสดงว่าการแปลงผิดพลาด ใน C ++ ฉันสามารถสร้างเมธอดที่ยอมรับตัวชี้ไปที่ int และปล่อยให้เมธอดนั้นส่งคืนจริงหรือเท็จ อย่างไรก็ตามเท่าที่ฉันรู้สิ่งนี้ไม่สามารถทำได้ใน Java ฉันยังสามารถสร้างออบเจ็กต์ที่มีตัวแปรจริง / เท็จและค่าที่แปลงแล้ว แต่ดูเหมือนจะไม่เหมาะเช่นกัน สิ่งเดียวกันนี้เกิดขึ้นกับมูลค่าทั่วโลกและสิ่งนี้อาจทำให้ฉันมีปัญหากับมัลติเธรด มีวิธีที่สะอาดในการทำเช่นนี้หรือไม่?


6
คำอธิบายประกอบเช่น @Override ทำงานภายใน Java ได้อย่างไร
ใครช่วยอธิบายให้ฉันฟังว่าคำอธิบายประกอบทำงานภายใน java ได้อย่างไร ฉันรู้ว่าเราสามารถสร้างคำอธิบายประกอบแบบกำหนดเองได้อย่างไรโดยใช้ไลบรารี java.lang.annotation ใน java แต่ฉันยังไม่เข้าใจว่ามันทำงานอย่างไรภายในเช่นคำอธิบายประกอบ @Override ฉันจะขอบคุณมากถ้าใครสามารถอธิบายโดยละเอียดได้
93 java  annotations 

6
คอลเลกชันแผนที่ JPA ของ Enums
มีวิธีใดใน JPA ในการแมปคอลเล็กชัน Enums ภายในคลาสเอนทิตีหรือไม่ หรือวิธีแก้ปัญหาเดียวคือการรวม Enum กับคลาสโดเมนอื่นและใช้เพื่อแมปคอลเล็กชัน? @Entity public class Person { public enum InterestsEnum {Books, Sport, etc... } //@??? Collection&lt;InterestsEnum&gt; interests; } ฉันใช้การใช้งาน Hibernate JPA แต่แน่นอนว่าต้องการใช้โซลูชันที่ไม่เชื่อเรื่องพระเจ้ามากกว่า
93 java  jpa  jakarta-ee 

3
จะปรับใช้ SNAPSHOT กับซอร์สและ JavaDoc ได้อย่างไร
ฉันต้องการปรับใช้ซอร์สและ Javadocs ด้วยสแนปชอตของฉัน ซึ่งหมายความว่าฉันต้องการทำให้คำสั่งต่อไปนี้เป็นอัตโนมัติ: mvn clean source:jar javadoc:jar deploy เพียงเพื่อดำเนินการ: mvn clean deploy ฉันไม่ต้องการให้มีการสร้าง javadoc / แหล่งที่มาในระหว่างinstallขั้นตอน (เช่นการสร้างในเครื่อง) ฉันรู้ว่าปลั๊กอิน source / javadoc สามารถซิงโครไนซ์กับการทำงานของreleaseปลั๊กอินได้ แต่ฉันไม่สามารถหาวิธีเชื่อมต่อกับการเผยแพร่สแน็ปช็อตได้

2
เหตุใด Double.parseDouble (null) และ Integer.parseInt (null) จึงมีข้อยกเว้นที่แตกต่างกัน
เหตุใด Double.parseDouble (null) และ Integer.parseInt (null) จึงมีข้อยกเว้นที่แตกต่างกัน นี่เป็นอุบัติเหตุทางประวัติศาสตร์หรือโดยเจตนา? เอกสารนี้ระบุข้อยกเว้นสองประเภทอย่างชัดเจนและอีกประเภทDouble.parseDouble(...)หนึ่งสำหรับInteger.parseInt()แต่ดูเหมือนว่าไม่สอดคล้องกัน: Integer.parseInt(null); // throws java.lang.NumberFormatException: null อย่างไรก็ตาม Double.parseDouble(null); // throws java.lang.NullPointerException

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