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

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

14
เมื่อใดจึงควรใช้ค่า Null ของ Boolean
Java booleanช่วยให้ค่าของtrueและfalseในขณะที่บูลีนช่วยให้true, และfalse nullฉันได้เริ่มแปลงของฉันbooleanเป็นBooleans ซึ่งอาจทำให้เกิดปัญหาในการทดสอบเช่น Boolean set = null; ... if (set) ... ในขณะที่การทดสอบ if (set != null && set) ... ดูเหมือนว่าวางแผนไว้แล้วและเกิดข้อผิดพลาดได้ง่าย เมื่อใดจะมีประโยชน์เมื่อใช้Booleans ด้วยค่า Null หรือไม่? ถ้าไม่เป็นเช่นนั้นแล้วสิ่งที่เป็นข้อได้เปรียบหลักของวัตถุที่ถูกห่อคืออะไร? UPDATE: มีคำตอบที่มีค่ามากมายที่ฉันได้สรุปบางคำตอบในคำตอบของฉัน ฉันเป็นสื่อกลางที่ดีที่สุดใน Java ดังนั้นฉันจึงพยายามแสดงสิ่งที่ฉันคิดว่ามีประโยชน์ โปรดทราบว่าคำถามคือ "ใช้ถ้อยคำไม่ถูกต้อง" (บูลีนไม่สามารถ "มีค่า Null") แต่ฉันได้ทิ้งไว้ในกรณีที่คนอื่นมีความเข้าใจผิดที่เหมือนกัน
159 java  boolean 

9
ทำไม Maven ใช้ JDK 1.6 แต่ Java -version ของฉันคือ 1.7
ฉันใหม่เพื่อ maven และ MacOS ฉันมีการตั้งค่า maven ใน terminal ของฉันและเมื่อได้รับการตั้งค่ารุ่น (โดยใช้mvn -v) ดูเหมือนว่ามันใช้ JDK 1.6 ในขณะที่ฉันติดตั้ง JDK 1.7 มีอะไรผิดปกติหรือเปล่า? คำสั่งที่ฉันป้อนคือ: blues:helloworld Ninja$ java -version java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)` blues:helloworld Ninja$ mvn -v Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 …
159 java  linux  macos  maven 

6
เปรียบเทียบ Array ใน JUnit assertions ในตัวแบบรัดกุม?
มีวิธีรัดกุมในตัวที่จะทำเท่ากับการยืนยันในสองอาร์เรย์เหมือนพิมพ์ใน JUnit? โดยค่าเริ่มต้น (อย่างน้อยใน JUnit 4) ดูเหมือนว่าจะทำการเปรียบเทียบกับวัตถุอาร์เรย์เอง EG ไม่ทำงาน: int[] expectedResult = new int[] { 116800, 116800 }; int[] result = new GraphixMask().sortedAreas(rectangles); assertEquals(expectedResult, result); แน่นอนฉันสามารถทำได้ด้วยตนเองด้วย: assertEquals(expectedResult.length, result.length); for (int i = 0; i < expectedResult.length; i++) assertEquals("mismatch at " + i, expectedResult[i], result[i]); .. แต่มีวิธีที่ดีกว่า
159 java  arrays  junit  assertions 

15
Java hashmap เป็นจริง ๆ O (1) หรือไม่
ฉันเคยเห็นการอ้างสิทธิ์ที่น่าสนใจเกี่ยวกับแฮชแมพของ Java และO(1)เวลาค้นหาของพวกเขาอีกครั้ง บางคนสามารถอธิบายได้ว่าทำไมถึงเป็นเช่นนั้น หากแฮชแมพเหล่านี้แตกต่างจากอัลกอริธึมการแฮชที่ฉันซื้อขึ้นมาอย่างมากมายจะต้องมีชุดข้อมูลที่มีการชนกันอยู่เสมอ ซึ่งในกรณีนี้การค้นหาจะมากกว่าO(n)O(1) บางคนสามารถอธิบายได้ว่าพวกเขาเป็น O (1) และถ้าเป็นเช่นนั้นพวกเขาบรรลุสิ่งนี้ได้อย่างไร

4
ความแตกต่างระหว่าง setUp () และ setUpBeforeClass ()
เมื่อหน่วยทดสอบกับ JUnit มีสองวิธีการที่คล้ายกันและsetUp() setUpBeforeClass()ความแตกต่างระหว่างวิธีการเหล่านี้คืออะไร? นอกจากนี้ความแตกต่างระหว่างtearDown()และคืออะไรtearDownAfterClass()คืออะไร? นี่คือลายเซ็น: @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { }
159 java  junit 

4
invokedynamic คืออะไรและฉันจะใช้ได้อย่างไร
ฉันคอยฟังเกี่ยวกับคุณสมบัติเจ๋ง ๆ ใหม่ ๆ ที่กำลังเพิ่มเข้าไปใน JVM และหนึ่งในฟีเจอร์เจ๋ง ๆ เหล่านั้นก็คือการเรียกใช้ ฉันต้องการจะรู้ว่ามันคืออะไรและมันทำให้การเขียนโปรแกรมไตร่ตรองใน Java ง่ายขึ้นหรือดีขึ้นอย่างไร

10
มีวิธีการถ่ายโอนข้อมูลกองติดตามโดยไม่ทิ้งข้อยกเว้นใน java?
ฉันกำลังคิดที่จะสร้างเครื่องมือดีบั๊กสำหรับแอปพลิเคชัน Java ของฉัน ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะได้รับการติดตามแบบสแต็กเหมือนException.printStackTrace()แต่ไม่มีข้อผิดพลาดเกิดขึ้นจริงหรือไม่ เป้าหมายของฉันคือการทิ้งสแต็กเพื่อดูว่าใครเป็นผู้โทร

17
ไม่สามารถแก้ไขโฮสต์“ <url here>”; ไม่มีที่อยู่ที่เกี่ยวข้องกับชื่อโฮสต์ [ปิด]
ปิด. คำถามนี้ต้องการรายละเอียดการแก้จุดบกพร่อง ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ในแอปพลิเคชัน Android ของฉันเพื่ออ่านลิงก์RSSฉันได้รับข้อผิดพลาดนี้: java.net.UnknownHostException: ไม่สามารถแก้ไขโฮสต์ "example.com"; ไม่มีที่อยู่ที่เกี่ยวข้องกับชื่อโฮสต์ ในโปรแกรมจำลองการของฉันฉันสามารถเชื่อมต่อกับ Google ผ่านเบราว์เซอร์ โปรดช่วยฉันแก้ไขปัญหานี้
159 java  android 

8
มีวิธีการสั่งซื้อ Java วิธีการใด ๆ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีคลาส ish ขนาดใหญ่ (40 วิธีหรือมากกว่านั้น) ซึ่งเป็นส่วนหนึ่งของแพ็คเกจที่ฉันจะส่งเป็นหลักสูตร ขณะนี้มีวิธีการที่ค่อนข้างสับสนในแง่ของสาธารณูปโภคสาธารณะ / ส่วนตัว ฯลฯ และฉันต้องการที่จะสั่งให้พวกเขาอย่างเหมาะสม มีวิธีมาตรฐานในการทำเช่นนี้หรือไม่? เช่นปกติฟิลด์จะแสดงรายการไว้ก่อนหน้าเมธอดตัวสร้างจะถูกแสดงรายการก่อนวิธีอื่นและ getters / setters จะคงอยู่ วิธีการที่เหลืออยู่?

13
ฉันจะแปลง Long เป็น byte [] และ back in java ได้อย่างไร
ฉันจะแปลงlonga byte[]และกลับเป็น Java ได้อย่างไร ฉันพยายามแปลง a เป็นlonga byte[]เพื่อที่ฉันจะสามารถส่งbyte[]ผ่านการเชื่อมต่อ TCP ในอีกด้านหนึ่งผมอยากจะใช้เวลาที่และแปลงกลับเป็นbyte[]double

25
com.android.build.transform.api.TransformException
ฉันกำลังพยายามรวมการลงชื่อเข้าใช้ของ Google ในแอปของฉันฉันเพิ่มห้องสมุดเหล่านี้: compile 'com.google.android.gms:play-services-identity:8.1.0' compile 'com.google.android.gms:play-services-plus:8.1.0' เพิ่มสิ่งนี้ลงในโครงการ build gradle ด้วย: classpath 'com.google.gms:google-services:1.4.0-beta3' เพิ่มปลั๊กอินให้กับแอป build gradle ด้วย: apply plugin: 'com.google.gms.google-services' จากนั้นเพิ่มสิทธิ์ที่จำเป็น แต่เมื่อฉันพยายามเรียกใช้แอปของฉันได้รับข้อผิดพลาดนี้: Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2

1
ทำไม“ ในขณะที่ (จริง)” ที่ไม่มี“ Thread.sleep” ทำให้เกิดการใช้ CPU 100% บน Linux แต่ไม่ใช่ใน Windows
ฉันได้สร้างโปรแกรมอย่างง่ายใน java: public static void main(String[] args) throws InterruptedException { while (true) ; } ถ้าฉันใช้สิ่งนี้บนเครื่อง Linux แสดงว่ามีการใช้งาน CPU 100% แต่ไม่ทำให้ระบบปฏิบัติการช้า อย่างไรก็ตามถ้าฉันใช้รหัสเดียวกันบน Windows มันจะแสดงเฉพาะการใช้งาน CPU ประมาณ 20% เท่านั้น ฉันใช้ Oracle JRE บน Windows และ OpenJDK 6 บน Linux ฉันสงสัยว่าเธรดตัวกำหนดตารางเวลาของ Windows จะสุ่มและ Linux ไม่มีหรือไม่

7
ซึ่งเป็นห้องสมุดที่ดีที่สุดสำหรับการแยกวิเคราะห์ XML ใน java [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม &amp; คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันค้นหาห้องสมุด java สำหรับการแยกวิเคราะห์ XML (การกำหนดค่าที่ซับซ้อนและไฟล์ข้อมูล) ฉัน googled เล็กน้อย แต่ไม่พบ dom4j (ดูเหมือนว่าพวกเขากำลังทำงานบน V2) .. ฉันได้ดูที่การตั้งค่าทั่วไป แต่ไม่ได้ ไม่ชอบมันโครงการ Apache อื่น ๆ บน XML ดูเหมือนจะอยู่ภายใต้การจำศีล ฉันไม่ได้ประเมิน dom4j ด้วยตัวเอง แต่แค่อยากจะรู้ - จาวามีห้องสมุดโอเพ่นซอร์ส xml อื่น ๆ (ดี) หรือไม่? และประสบการณ์ของคุณกับ dom4j เป็นอย่างไร? หลังจากคำตอบของ @ Voo ให้ฉันถามอีกอัน - ฉันควรใช้คลาสบิวด์อินของ …
158 java  xml  parsing 

1
ความแตกต่างระหว่างการสุ่มตัวอย่างและการทำโปรไฟล์ใน jVisualVM
VisualVM มีสองแท็บแยกต่างหากสำหรับการสุ่มตัวอย่างและการทำโปรไฟล์ ความแตกต่างระหว่างการสุ่มตัวอย่างและการทำโปรไฟล์ใน VisualVM คืออะไร?
158 java  jvm  heap  jvisualvm 

20
จำนวนวันในเดือนใดเดือนหนึ่งของปีโดยเฉพาะ?
จะทราบได้อย่างไรว่ากี่วันในแต่ละเดือนของปีใด String date = "2010-01-19"; String[] ymd = date.split("-"); int year = Integer.parseInt(ymd[0]); int month = Integer.parseInt(ymd[1]); int day = Integer.parseInt(ymd[2]); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,year); calendar.set(Calendar.MONTH,month); int daysQty = calendar.getDaysNumber(); // Something like this
158 java  datetime  calendar 

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