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

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

4
บูลีนตัวดำเนินการตามเงื่อนไขและการทำกล่องอัตโนมัติ
ทำไมถึงโยน NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } ในขณะที่สิ่งนี้ไม่ public static void main(String[] args) throws Exception { Boolean b = true ? null : false; …

11
เหตุใดวัตถุการถ่ายโอนข้อมูล (DTO) จึงเป็นรูปแบบต่อต้าน
ผมเคยได้ยินคนบอกว่าเมื่อเร็ว ๆ นี้การถ่ายโอนข้อมูลวัตถุ (DTOs) เป็นต่อต้านรูปแบบ ทำไม? ทางเลือกอื่นคืออะไร?


11
String.valueOf () กับ Object.toString ()
ใน Java มีความแตกต่างระหว่างString.valueOf(Object)และObject.toString()อย่างไร มีการกำหนดรหัสเฉพาะสำหรับสิ่งเหล่านี้หรือไม่?
132 java  string 

8
การสะท้อนทั่วไปรับค่าฟิลด์
ฉันพยายามรับค่าฟิลด์ผ่านการสะท้อน ปัญหาคือฉันไม่ทราบประเภทช่องและต้องตัดสินใจขณะรับค่า รหัสนี้มีผลกับข้อยกเว้นนี้: ไม่สามารถตั้งค่า java.lang.String field com .... fieldName เป็น java.lang.String Field field = object.getClass().getDeclaredField(fieldName); field.setAccessible(true); Class<?> targetType = field.getType(); Object objectValue = targetType.newInstance(); Object value = field.get(objectValue); ฉันพยายามแคสต์ แต่พบข้อผิดพลาดในการคอมไพล์: field.get((targetType)objectValue) หรือ targetType objectValue = targetType.newInstance(); ฉันจะทำเช่นนี้ได้อย่างไร?
132 java  reflection 


27
วิธีการแปลงตัวเลขเป็นคำใน java
ขณะนี้เรามีกลไกคร่าวๆในการแปลงตัวเลขเป็นคำ (เช่นการใช้อาร์เรย์แบบคงที่) และขึ้นอยู่กับขนาดของตัวเลขที่แปลเป็นข้อความภาษาอังกฤษ แต่เรากำลังประสบปัญหาสำหรับตัวเลขที่มีขนาดใหญ่มาก 10183 = Ten thousand one hundred eighty three 90 = Ninety 5888 = Five thousand eight hundred eighty eight มีฟังก์ชันที่ใช้งานง่ายในห้องสมุดคณิตศาสตร์ที่ฉันสามารถใช้เพื่อจุดประสงค์นี้ได้หรือไม่?
132 java  math  numbers  jscience 

6
HashMap รับ / ใส่ความซับซ้อน
เราเคยพูดว่าHashMap get/putการดำเนินการคือ O (1) อย่างไรก็ตามขึ้นอยู่กับการใช้งานแฮช แฮชของอ็อบเจ็กต์ดีฟอลต์คือแอดเดรสภายในในฮีป JVM เราแน่ใจหรือไม่ว่าดีพอที่จะอ้างว่าget/putเป็น O (1)? หน่วยความจำที่ใช้ได้เป็นอีกปัญหาหนึ่ง ตามที่ฉันเข้าใจจาก javadocs HashMap load factorควรเป็น 0.75 จะเกิดอะไรขึ้นถ้าเรามีหน่วยความจำไม่เพียงพอใน JVM และload factorเกินขีด จำกัด ? ดังนั้นดูเหมือนว่าจะไม่รับประกัน O (1) มันสมเหตุสมผลหรือว่าฉันพลาดอะไรไป


21
Retrofit 2.0 วิธีรับการตอบสนองข้อผิดพลาด deserialised ร่างกาย
ฉันใช้Retrofit 2.0.0-beta1 ในการทดสอบฉันมีสถานการณ์อื่นและคาดว่าจะเกิดข้อผิดพลาด HTTP 400 ฉันอยากจะมีretrofit.Response<MyError> response แต่response.body() == null MyError ไม่ได้ถูก deserialised - ฉันเห็นที่นี่เท่านั้น response.errorBody().string() แต่มันไม่ได้ให้ MyError เป็นวัตถุ
132 java  retrofit  retrofit2 

9
จะเรียกใช้การทดสอบ Gradle ได้อย่างไรเมื่อการทดสอบทั้งหมดเป็นข้อมูลล่าสุด
ฉันตั้งค่าสคริปต์เกรดของฉันแล้ว เมื่อฉันรันบิวด์ Gradle ทุกอย่างจะทำงานและรันการทดสอบ jUnit หลังจากนั้นเมื่อฉันเรียกใช้การทดสอบ Gradle ฉันจะได้รับสิ่งต่อไปนี้: C:\Users\..\..\Project>gradle test :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE เมื่อฉันดำเนินการgradle cleanแล้ว Gradle build ทำงานได้แน่นอน ... ฉันต้องการรีเซ็ตเฉพาะการทดสอบไม่ใช่สร้างทั้งโครงการ: ฉันจะทำอย่างไร

7
Breadth-First Search ทำงานอย่างไรเมื่อมองหา Shortest Path
ฉันได้ทำการค้นคว้าและดูเหมือนว่าฉันจะขาดส่วนเล็ก ๆ ส่วนหนึ่งของอัลกอริทึมนี้ ฉันเข้าใจวิธีการทำงานของการค้นหาแบบกว้าง - แรก แต่ฉันไม่เข้าใจว่ามันจะพาฉันไปยังเส้นทางที่เจาะจงได้อย่างไรแทนที่จะบอกเพียงว่าแต่ละโหนดไปที่ใดได้ ฉันเดาว่าวิธีที่ง่ายที่สุดในการอธิบายความสับสนของฉันคือการให้ตัวอย่าง: ตัวอย่างเช่นสมมติว่าฉันมีกราฟดังนี้: และเป้าหมายของฉันคือการได้รับจาก A ถึง E (ขอบทั้งหมดไม่ได้ถ่วงน้ำหนัก) ฉันเริ่มต้นที่ A เพราะนั่นคือจุดกำเนิดของฉัน ฉันจัดคิว A ตามด้วยการออกคิว A ทันทีและสำรวจมัน สิ่งนี้ให้ผล B และ D เนื่องจาก A เชื่อมต่อกับ B และ D ฉันจึงจัดคิวทั้ง B และ D ฉันเลิกจัดคิว B และสำรวจมันและพบว่ามันนำไปสู่ ​​A (สำรวจแล้ว) และ C ดังนั้นฉันจึงจัดคิว C ฉันจึงออกคิว D และพบว่ามันนำไปสู่ ​​E เป้าหมายของฉัน …

20
android.view.InflateException เกิดข้อผิดพลาดในการขยายคลาส android.webkit.WebView
ใน Lollipop (API 22) ทุกครั้งในแอปพลิเคชันของฉันฉันแสดง Webview ว่าแอปพลิเคชันขัดข้อง ฉันขัดข้องหลายครั้งในคอนโซลนักพัฒนาซอฟต์แวร์ Android ที่เกี่ยวข้องกับเหตุการณ์นี้ ไม่ต้องบอกก็รู้ว่าใช้งานได้บน Android 4, 6 และ 7 การอ่านการติดตามสแต็ก (โพสต์ไว้ที่ส่วนท้ายของโพสต์นี้) มีบางอย่างทำให้ฉันติดขัด Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2040003 ฉันค้นหาใน R.java ที่สร้างขึ้นโดยไม่มีโชคเห็นได้ชัดเพราะไม่มี ID แต่ก็คุ้มค่าที่จะลอง Googling เกี่ยวกับปัญหาดูเหมือนจะเกี่ยวข้องกับวิธีที่อมยิ้มจัดการกับการดูเว็บ ฉันเริ่ม AVD ใหม่ด้วยอมยิ้มจากอุปกรณ์ที่ฉันพบในรายงานการขัดข้องใน GDC และฉันสามารถสร้างปัญหาซ้ำได้ การติดตามสแต็กแบบเต็ม: android.view.InflateException: Binary XML file line #7: Error inflating class android.webkit.WebView at …
132 java  android  webview 

30
ไม่พบปลั๊กอิน Maven ใน IntelliJ
หลังจากอัปเดต IntelliJ จากเวอร์ชัน 12 เป็น 13 ปลั๊กอินที่เกี่ยวข้องกับ Maven ต่อไปนี้ไม่สามารถแก้ไขได้: org.apache.maven.plugins:maven-clean-plugin:2.4.1 org.apache.maven.plugins:maven-deploy-plugin org.apache.maven.plugins:maven-install-plugin org.apache.maven.plugins:maven-site-plugin เมื่อใช้ IntelliJ 12 สิ่งเหล่านี้ไม่อยู่ในรายการปลั๊กอิน พวกเขาถูกเพิ่มเข้ามาหลังจากการอัปเดตและตอนนี้ IntelliJ บ่นว่าไม่พบ ฉันจะลบปลั๊กอินเหล่านี้ออกจากรายการได้ที่ไหนหรือแก้ไขปัญหาโดยการติดตั้ง ฉันสามารถเรียกใช้เป้าหมาย maven ได้cleanและcompileไม่มีปัญหา แต่โปรไฟล์ / ปลั๊กอินปรากฏเป็นสีแดงพร้อมคำเตือนใน IDE

9
เหตุใด Java จึงคิดว่าผลคูณของตัวเลขทั้งหมดตั้งแต่ 10 ถึง 99 เป็น 0
บล็อกโค้ดต่อไปนี้ให้เอาต์พุตเป็น 0 public class HelloWorld{ public static void main(String []args){ int product = 1; for (int i = 10; i <= 99; i++) { product *= i; } System.out.println(product); } } ใครช่วยอธิบายได้ไหมว่าทำไมถึงเกิดขึ้น

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