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

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

3
คุณลักษณะเฉพาะของการอนุมานประเภทข้อยกเว้นใน Java 8
ในขณะที่เขียนโค้ดสำหรับคำตอบอื่นบนไซต์นี้ฉันพบลักษณะเฉพาะนี้: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static <T extends Throwable> void nonSneakyThrow(T t) throws T { throw t; } อย่างแรกฉันค่อนข้างสับสนว่าทำไมการsneakyThrowโทรถึงคอมไพเลอร์จึงทำได้ …

8
วิธีบังคับให้คลาสที่ได้รับเรียก super method? (เช่นเดียวกับ Android)
ฉันสงสัยว่าเมื่อสร้างActivityคลาสใหม่แล้วแทนที่onCreate()เมธอดในคราสฉันมักจะได้รับการเพิ่มอัตโนมัติ: super.onCreate(). สิ่งนี้เกิดขึ้นได้อย่างไร? มีคีย์เวิร์ด java ใน abstract หรือ parent class ที่บังคับสิ่งนี้หรือไม่? ฉันไม่รู้ว่ามันผิดกฎหมายหรือไม่ที่จะไม่เรียกซุปเปอร์คลาส แต่ฉันจำได้ว่าในบางวิธีฉันได้รับข้อยกเว้นที่ไม่ทำ สิ่งนี้มีอยู่ใน java ด้วยหรือไม่? คุณสามารถใช้คำหลักเพื่อทำสิ่งนั้นได้หรือไม่ หรือทำอย่างไร?

5
อาร์เรย์ดั้งเดิมของ Java ถูกเก็บไว้ในสแต็กหรือฮีปหรือไม่?
ฉันมีการประกาศอาร์เรย์ดังนี้: int a[]; นี่aคืออาร์เรย์ของintประเภทดั้งเดิม อาร์เรย์นี้เก็บไว้ที่ไหน? เก็บไว้ในฮีปหรือสแต็ก? นี่คือประเภทไพรม์ไทม์ชนิดintดั้งเดิมทั้งหมดจะไม่ถูกเก็บไว้ในฮีป

6
รับการประทับเวลา unix จากวันที่ ()
ฉันสามารถแปลงการประทับเวลายูนิกซ์เป็นDate()วัตถุโดยใส่longค่าลงในตัวDate()สร้าง เช่น: ฉันสามารถเป็นnew Date(1318762128031)ได้ แต่หลังจากนั้นฉันจะเรียกคืนการประทับเวลายูนิกซ์จากDate()วัตถุได้อย่างไร
85 java  date 

1
วิธีบันทึกข้อยกเว้นและข้อความด้วยตัวยึดตำแหน่งด้วย SLF4J
แนวทางที่ถูกต้องในการบันทึกทั้งข้อความแสดงข้อผิดพลาดและข้อยกเว้นโดยใช้SLF4Jคืออะไร? ฉันได้ลองทำสิ่งนี้แล้ว แต่ไม่เคยพิมพ์การติดตามสแต็กข้อยกเว้น: logger.error("Unable to parse data {}", inputMessage, e); ในกรณีนี้ฉันต้องการเติมข้อมูล{}ด้วยinputMessageเช่นเดียวกับการออกจากระบบ stacktrace ข้อยกเว้น วิธีเดียวที่ฉันสามารถทำได้คือทำสิ่งนี้: logger.error("Unable to parse data " + inputMessage, e); ซึ่งไม่สวย
85 java  logging  slf4j 

1
แฟล็ก UseCompressedOops JVM ทำอะไรและฉันควรใช้เมื่อใด
แฟล็ก HotSpot JVM -XX:+UseCompressedOopsทำอะไรและฉันควรใช้เมื่อใด ฉันจะเห็นความแตกต่างของประสิทธิภาพและการใช้งานหน่วยความจำประเภทใดเมื่อใช้บนอินสแตนซ์ Java 64 บิต (เทียบกับไม่ได้ใช้งาน)
85 java  memory  jvm  jvm-hotspot 

13
java: ฉันจะทำการแคสต์ตัวแปรแบบไดนามิกจากประเภทหนึ่งไปยังอีกประเภทหนึ่งได้อย่างไร
ฉันต้องการทำการแคสต์แบบไดนามิกสำหรับตัวแปร Java ประเภทการหล่อจะถูกเก็บไว้ในตัวแปรอื่น นี่คือการคัดเลือกนักแสดงปกติ: String a = (String) 5; นี่คือสิ่งที่ฉันต้องการ: String theType = 'String'; String a = (theType) 5; เป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร ขอบคุณ! อัปเดต ฉันกำลังพยายามเติมข้อมูลในชั้นเรียนด้วยHashMapที่ฉันได้รับ นี่คือตัวสร้าง: public ConnectParams(HashMap<String,Object> obj) { for (Map.Entry<String, Object> entry : obj.entrySet()) { try { Field f = this.getClass().getField(entry.getKey()); f.set(this, entry.getValue()); /* <= CASTING PROBLEM */ } catch …

6
ยืนยันกับ JUnit Assertions
วันนี้ฉันเห็นกรณีการทดสอบ JUnit ที่มีการยืนยัน java แทนการยืนยัน JUnit - มีข้อดีหรือข้อเสียที่สำคัญที่จะชอบมากกว่าอีกแบบหนึ่งหรือไม่?

6
วิธีการส่ง type เป็นพารามิเตอร์ method ใน Java
ใน Java คุณจะส่งประเภทเป็นพารามิเตอร์ (หรือประกาศเป็นตัวแปร) ได้อย่างไร? ฉันไม่ต้องการส่งผ่านอินสแตนซ์ของประเภท แต่เป็นประเภทนั้นเอง (เช่น int, String ฯลฯ ) ใน C # ฉันสามารถทำได้: private void foo(Type t) { if (t == typeof(String)) { ... } else if (t == typeof(int)) { ... } } private void bar() { foo(typeof(String)); } มีวิธีใน Java โดยไม่ผ่านอินสแตนซ์ประเภท t หรือไม่? หรือฉันต้องใช้ค่าคงที่หรือ enum …
85 java  types 

15
เปรียบเทียบสองวัตถุด้วยตัวดำเนินการ .equals () และ ==
ฉันสร้างคลาสที่มีStringฟิลด์เดียว จากนั้นฉันสร้างวัตถุสองชิ้นขึ้นมาและฉันต้องเปรียบเทียบโดยใช้==ตัวดำเนินการและ.equals()ด้วย นี่คือสิ่งที่ฉันทำ: public class MyClass { String a; public MyClass(String ab) { a = ab; } public boolean equals(Object object2) { if(a == object2) { return true; } else return false; } public boolean equals2(Object object2) { if(a.equals(object2)) { return true; } else return false; } public static void …
85 java  class  object  methods  equals 

1
วิธีใช้ AssistedInject ของ Guice
ฉันได้อ่านhttps://github.com/google/guice/wiki/AssistedInjectแต่ไม่ได้บอกว่าจะส่งผ่านค่าอาร์กิวเมนต์ AssistedInject อย่างไร การเรียก injector.getInstance () จะมีลักษณะอย่างไร
85 java  guice  guice-3 

5
แนวทางปฏิบัติที่ดีที่สุดในการใช้ HttpClient ในสภาพแวดล้อมแบบมัลติเธรด
ในขณะที่ฉันใช้ HttpClient ในสภาพแวดล้อมแบบมัลติเธรด สำหรับทุกเธรดเมื่อเริ่มต้นการเชื่อมต่อเธรดจะสร้างอินสแตนซ์ HttpClient ใหม่ทั้งหมด เมื่อเร็ว ๆ นี้ฉันได้ค้นพบว่าการใช้วิธีนี้อาจทำให้ผู้ใช้เปิดพอร์ตมากเกินไปและการเชื่อมต่อส่วนใหญ่อยู่ในสถานะ TIME_WAIT http://www.opensubscriber.com/message/commons-httpclient-dev@jakarta.apache.org/86045.html ดังนั้นแทนที่จะทำแต่ละเธรด: HttpClient c = new HttpClient(); try { c.executeMethod(method); } catch(...) { } finally { method.releaseConnection(); } เราวางแผนที่จะมี: [วิธีการ A] // global_c is initialized once through // HttpClient global_c = new HttpClient(new MultiThreadedHttpConnectionManager()); try { global_c.executeMethod(method); } catch(...) { …

9
ตัวจัดรูปแบบโค้ด Java แบบสแตนด์อโลน / เครื่องตกแต่ง / เครื่องพิมพ์สวย? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันสนใจที่จะเรียนรู้เกี่ยวกับตัวเลือกของรูปแบบซอร์สโค้ดแบบสแตนด์อโลนคุณภาพสูงสำหรับ Java formatter ที่จะต้องยืนอยู่คนเดียวนั่นคือมันจะต้องสนับสนุนโหมด "แบทช์"ที่หลุดพ้นจากสภาพแวดล้อมการพัฒนาใด ๆ โดยเฉพาะอย่างยิ่ง ตามหลักการแล้วควรเป็นอิสระจากระบบปฏิบัติการใดระบบหนึ่งด้วย ดังนั้นฟอร์แมตเตอร์ในตัวสำหรับ IDE du jour จึงไม่ค่อยน่าสนใจที่นี่ (เว้นแต่ว่า IDE จะรองรับการเรียกใช้ฟอร์แมตเตอร์โหมดแบทช์บางทีอาจมาจากบรรทัดคำสั่ง) ฟอร์แมตเตอร์ที่เขียนด้วย C / C ++ แบบปิดที่ทำงานบนเท่านั้นกล่าวได้ว่า Windows ไม่เหมาะ แต่ค่อนข้างน่าสนใจ เพื่อความชัดเจน "ตัวจัดรูปแบบ" (หรือ "เครื่องตกแต่ง") ไม่เหมือนกับ "ตัวตรวจสอบสไตล์" ฟอร์แมตเตอร์ยอมรับซอร์สโค้ดเป็นอินพุตใช้กฎการจัดรูปแบบและสร้างซอร์สโค้ดสไตล์ที่มีความหมายเทียบเท่ากับซอร์สโค้ดดั้งเดิม การปรับเปลี่ยนไวยากรณ์จะ จำกัด เฉพาะสิ่งต่างๆเช่นการแก้ไขเลย์เอาต์โค้ดเช่นเดียวกับการเปลี่ยนช่องว่างหรือการจัดระเบียบimportงบ การปรับโครงสร้างใหม่อื่น ๆ น้อยมากถ้ามี ตัวตรวจสอบสไตล์ยังใช้กฎการจัดรูปแบบ แต่เพียงแค่รายงานการละเมิดกฎโดยไม่ต้องสร้างซอร์สโค้ดที่แก้ไขเป็นเอาต์พุต …

9
วิธีหลีกเลี่ยงไฟล์คุณสมบัติการลงชื่อเข้าใช้เท่ากับ
ฉันจะหลีกเลี่ยงเครื่องหมายเท่ากับ ( =) ในไฟล์คุณสมบัติ Java ได้อย่างไร ฉันต้องการใส่สิ่งต่อไปนี้ในไฟล์ของฉัน: table.whereclause=where id=100

7
Unix epoch time to Java Date object
ฉันมีสตริงที่มีเวลาUNIX Epochและฉันต้องการแปลงเป็นวัตถุ Java Date String date = "1081157732"; DateFormat df = new SimpleDateFormat(""); // This line try { Date expiry = df.parse(date); } catch (ParseException ex) { ex.getStackTrace(); } เส้นที่ทำเครื่องหมายคือจุดที่ฉันมีปัญหา ฉันไม่สามารถสรุปได้ว่าอาร์กิวเมนต์ของ SimpleDateFormat () ควรเป็นอย่างไรหรือแม้ว่าฉันควรจะใช้ SimpleDateFormat ()
85 java  date  java-time 

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