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

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

4
เหตุใด Java 8 lambda นี้จึงไม่สามารถคอมไพล์ได้
คอมไพล์โค้ด Java ต่อไปนี้ไม่สำเร็จ: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error } คอมไพเลอร์รายงาน: Error:(31, 58) …

13
ฉันจะสร้างแบบจำลองเพื่อแยกแยะทวีตเกี่ยวกับ Apple (Inc. ) จากทวีตเกี่ยวกับแอปเปิ้ล (ผลไม้) ได้อย่างไร
ดูด้านล่างสำหรับ 50 ทวีตเกี่ยวกับ "apple" ฉันติดป้ายกำกับการจับคู่เชิงบวกเกี่ยวกับ Apple Inc. ไว้ด้วยมือโดยมีเครื่องหมาย 1 ด้านล่าง สองสามบรรทัดมีดังนี้ 1|“@chrisgilmer: Apple targets big business with new iOS 7 features http://bit.ly/15F9JeF ”. Finally.. A corp iTunes account! 0|“@Zach_Paull: When did green skittles change from lime to green apple? #notafan” @Skittles 1|@dtfcdvEric: @MaroneyFan11 apple inc is searching for people to …

4
ฉันจะ "สกัดกั้น" Ctrl + C ในแอปพลิเคชัน CLI ได้อย่างไร
ฉันจะดักจับ Ctrl + C(ซึ่งปกติจะฆ่ากระบวนการ) ในแอปพลิเคชัน Java CLI (อินเตอร์เฟสบรรทัดคำสั่ง) ได้อย่างไร มีโซลูชันหลายแพลตฟอร์ม (Linux, Solaris, Windows) หรือไม่ ฉันใช้Console's readLine()แต่ถ้าจำเป็นฉันสามารถใช้วิธีการอื่นในการอ่านตัวอักษรจากอินพุตมาตรฐาน

10
เหตุใด Java จึงห้ามไม่ให้มีฟิลด์แบบคงที่ในคลาสภายใน
class OuterClass { class InnerClass { static int i = 100; // compile error static void f() { } // compile error } } แม้ว่าจะไม่สามารถเข้าถึงฟิลด์แบบคงที่ได้OuterClass.InnerClass.iแต่ถ้าฉันต้องการบันทึกสิ่งที่ควรเป็นแบบคงที่เช่นจำนวนของออบเจ็กต์ InnerClass ที่สร้างขึ้นการทำให้ฟิลด์นั้นคงที่จะเป็นประโยชน์ ดังนั้นทำไมไม่ห้าม Java เขตข้อมูลคงที่ / วิธีการในการเรียนภายใน? แก้ไข: ฉันรู้วิธีทำให้คอมไพเลอร์พอใจกับคลาสซ้อนแบบคงที่ (หรือคลาสภายในแบบคงที่) แต่สิ่งที่ฉันอยากรู้คือทำไม java จึงห้ามฟิลด์ / วิธีการแบบคงที่ภายในคลาสภายใน (หรือคลาสภายในธรรมดา) จากทั้งการออกแบบภาษาและ ด้านการนำไปใช้งานหากมีใครรู้เพิ่มเติมเกี่ยวกับเรื่องนี้

7
บล็อกที่ซิงโครไนซ์ Java เทียบกับ Collections.synchronizedMap
รหัสต่อไปนี้ตั้งค่าเพื่อซิงโครไนซ์การโทรอย่างถูกต้องsynchronizedMapหรือไม่? public class MyClass { private static Map<String, List<String>> synchronizedMap = Collections.synchronizedMap(new HashMap<String, List<String>>()); public void doWork(String key) { List<String> values = null; while ((values = synchronizedMap.remove(key)) != null) { //do something with values } } public static void addToMap(String key, String value) { synchronized (synchronizedMap) { if (synchronizedMap.containsKey(key)) { …

4
ฉันจะกำหนดค่า log4j ในคลาสทดสอบ JUnit ได้ที่ไหน
เมื่อดูกรณีทดสอบ JUnit ล่าสุดที่ฉันเขียนฉันเรียกว่าวิธี BasicConfigurator.configure () ของ log4j ภายในตัวสร้างคลาส ทำงานได้ดีสำหรับการรันคลาสเดียวนั้นจากคำสั่ง "run as JUnit test case" ของ Eclipse แต่ฉันรู้ว่ามันไม่ถูกต้อง: ฉันค่อนข้างแน่ใจว่าชุดทดสอบหลักของเราเรียกใช้คลาสเหล่านี้ทั้งหมดจากกระบวนการเดียวดังนั้นการกำหนดค่า log4j ควรจะเกิดขึ้นที่ใดที่หนึ่ง แต่ฉันยังคงต้องเรียกใช้กรณีทดสอบด้วยตัวเองในบางครั้งซึ่งในกรณีนี้ฉันต้องการกำหนดค่า log4j ฉันควรวางการเรียกการกำหนดค่าไว้ที่ใดเพื่อให้รันเมื่อกรณีทดสอบทำงานแบบสแตนด์อโลน แต่ไม่ใช่เมื่อกรณีทดสอบถูกเรียกใช้เป็นส่วนหนึ่งของชุดใหญ่
85 java  logging  junit  log4j 

2
H2 หรือ HSQLDB ไหนดีกว่ากัน? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา HSQLDB 2.0 จะเปิดตัวเร็ว ๆ นี้ ฉันสงสัยว่ามันจะมีประสิทธิภาพดีกว่า H2 หรือไม่เท่าที่ฉันรู้ผู้ใช้ส่วนใหญ่ชอบ H2 มากกว่า HSQLDB ฉันสนใจการสนับสนุน MVCC ของ HSQLDB 2.0 ฉันได้เรียนรู้ว่า MVCC บน H2 ยังอยู่ในการทดลอง เกี่ยวกับ support / documentation, concurrency, performance, ระหว่างสองอย่างไหนดีกว่ากัน?

12
จัดเรียงรายการอาร์เรย์ใน Java
ฉันงุนงงที่ไม่สามารถหาคำตอบได้อย่างรวดเร็วสำหรับเรื่องนี้ ฉันกำลังมองหาโครงสร้างข้อมูลใน Java ซึ่งใช้java.util.Listอินเทอร์เฟซเป็นหลัก แต่จะจัดเก็บสมาชิกในลำดับที่เรียงลำดับ ฉันรู้ว่าคุณสามารถใช้แบบปกติArrayListและCollections.sort()ใช้ได้ แต่ฉันมีสถานการณ์ที่ฉันเพิ่มและดึงข้อมูลสมาชิกจากรายการของฉันเป็นครั้งคราวและฉันไม่ต้องการเรียงลำดับทุกครั้งที่ดึงข้อมูลสมาชิกในกรณีที่ เพิ่มอันใหม่แล้ว ใครช่วยชี้ให้ฉันเห็นสิ่งที่มีอยู่ใน JDK หรือแม้แต่ห้องสมุดบุคคลที่สาม แก้ไข : โครงสร้างข้อมูลจะต้องเก็บข้อมูลที่ซ้ำกัน สรุปคำตอบ : ฉันพบว่าทั้งหมดนี้น่าสนใจมากและได้เรียนรู้มากมาย โดยเฉพาะอย่างยิ่ง Aioobe สมควรได้รับการกล่าวถึงสำหรับความอุตสาหะของเขาในการพยายามบรรลุข้อกำหนดของฉันข้างต้น (ส่วนใหญ่เป็นการใช้งาน java.util.List ที่เรียงลำดับซึ่งรองรับรายการที่ซ้ำกัน) ฉันยอมรับว่าคำตอบของเขาถูกต้องที่สุดสำหรับสิ่งที่ฉันถามและความคิดส่วนใหญ่ที่กระตุ้นให้เกิดผลกระทบของสิ่งที่ฉันกำลังมองหาแม้ว่าสิ่งที่ฉันถามจะไม่ใช่สิ่งที่ฉันต้องการก็ตาม ปัญหาเกี่ยวกับสิ่งที่ฉันขออยู่ในอินเทอร์เฟซรายการและแนวคิดของวิธีการเสริมในอินเทอร์เฟซ หากต้องการอ้างอิง javadoc: ผู้ใช้อินเทอร์เฟซนี้สามารถควบคุมได้อย่างแม่นยำว่าจะแทรกองค์ประกอบใดในรายการ การแทรกลงในรายการที่เรียงลำดับไม่สามารถควบคุมจุดแทรกได้อย่างแม่นยำ จากนั้นคุณต้องคิดว่าคุณจะจัดการกับวิธีการบางอย่างอย่างไร ใช้addตัวอย่างเช่น: เพิ่มบูลีนสาธารณะ (Object o) Appends the specified element to the end of this list (optional operation). ตอนนี้คุณถูกทิ้งให้อยู่ในสถานการณ์ที่ไม่สบายใจของ 1) การทำลายสัญญาและใช้การเพิ่มเวอร์ชันที่เรียงลำดับ 2) …

10
การจัดการค่า DATETIME 0000-00-00 00:00:00 ใน JDBC
ฉันได้รับข้อยกเว้น (ดูด้านล่าง) หากฉันพยายามทำ resultset.getString("add_date"); สำหรับการเชื่อมต่อ JDBC กับฐานข้อมูล MySQL ที่มีค่า DATETIME เป็น 0000-00-00 00:00:00 (ค่ากึ่งว่างสำหรับ DATETIME) แม้ว่าฉันจะพยายามรับค่าเป็นสตริงไม่ใช่ในฐานะ วัตถุ. ฉันทำได้โดยการทำ SELECT CAST(add_date AS CHAR) as add_date ซึ่งได้ผล แต่ดูเหมือนงี่เง่า ... มีวิธีที่ดีกว่านี้ไหม จุดของฉันเป็นที่ฉันต้องการเพียงแค่สตริง DATETIME ดิบดังนั้นฉันสามารถแยกตัวเองเป็นอยู่ หมายเหตุ:นี่คือที่มาของ 0000: (จากhttp://dev.mysql.com/doc/refman/5.0/en/datetime.html ) ค่า DATETIME, DATE หรือ TIMESTAMP ที่ผิดกฎหมายจะถูกแปลงเป็นค่า "ศูนย์" ของประเภทที่เหมาะสม ('0000-00-00 00:00:00' หรือ '0000-00-00') ข้อยกเว้นเฉพาะคือข้อยกเว้นนี้: SQLException: Cannot …
85 java  sql  date  jdbc 

12
ฉันจะคัดลอกเนื้อหาของ ArrayList หนึ่งไปยังอีกรายการหนึ่งได้อย่างไร
ฉันมีโครงสร้างข้อมูลบางส่วนและฉันต้องการใช้โครงสร้างแบบชั่วคราวและอีกแบบไม่ใช่แบบชั่วคราว ArrayList<Object> myObject = new ArrayList<Object>(); ArrayList<Object> myTempObject = new ArrayList<Object>(); //fill myTempObject here .... //make myObject contain the same values as myTempObject myObject = myTempObject; //free up memory by clearing myTempObject myTempObject.clear(); ตอนนี้ปัญหาของหลักสูตรนี้myObjectเป็นเพียงแค่ชี้ไปที่จริงๆmyTempObjectและเมื่อmyTempObjectเคลียร์แล้วก็เป็นเช่นนั้นmyObjectเช่นนั้น ฉันจะเก็บค่าจากวิธีการmyTempObjectในmyObjectการใช้ Java?

13
วิธีจับเวลาความเร็วในการเรียกใช้โปรแกรม Java
คุณใช้เวลาในการทำงานของโปรแกรม java ได้อย่างไร? ฉันไม่แน่ใจว่าควรใช้คลาสอะไรในการทำสิ่งนี้ ฉันกำลังมองหาสิ่งที่ชอบ: // Some timer starts here for (int i = 0; i < length; i++) { // Do something } // End timer here System.out.println("Total execution time: " + totalExecutionTime);
85 java 

14
ความแตกต่างระหว่าง JDK และ Java SDK
มีความแตกต่างกันมากระหว่างสองคำนี้หรือไม่? ฉันเข้าใจว่า JDK ย่อมาจาก Java Development Kit ซึ่งเป็นส่วนย่อยของ SDK (Software Development Kit) แต่การระบุ Java SDK ควรมีความหมายเหมือนกับ JDK
85 sdk  java 

5
Y ส่งคืน 2012 ในขณะที่ y ส่งคืน 2011 ใน SimpleDateFormat
ฉันสงสัยว่าทำไม 'Y' ถึงกลับมาในปี 2012 ในขณะที่ 'y' ส่งคืน 2011 ในSimpleDateFormat: System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011 มีใครอธิบายได้ไหมว่าทำไม?

14
การกำหนดอ็อบเจ็กต์เป็น null ใน Java ส่งผลต่อการรวบรวมขยะหรือไม่
การกำหนดการอ้างอิงอ็อบเจ็กต์ที่ไม่ได้ใช้nullใน Java ช่วยปรับปรุงกระบวนการรวบรวมขยะด้วยวิธีใด ๆ ที่วัดผลได้หรือไม่? ประสบการณ์ของฉันกับ Java (และ C #) สอนฉันว่ามักจะต่อต้านการพยายามและเอาชนะเครื่องเสมือนหรือคอมไพเลอร์ JIT แต่ฉันเคยเห็นเพื่อนร่วมงานใช้วิธีนี้และฉันอยากรู้ว่านี่เป็นแนวทางปฏิบัติที่ดีในการเลือกหรือไม่ หรือหนึ่งในความเชื่อโชคลางการเขียนโปรแกรมวูดู?

16
จับภาพจากเว็บแคมใน Java?
ฉันจะจับภาพจากเว็บแคมอย่างต่อเนื่องได้อย่างไร? ฉันต้องการทดลองเกี่ยวกับการจดจำวัตถุ (โดยอาจใช้ java media framework) ฉันคิดจะสร้างสองกระทู้ หนึ่งหัวข้อ: โหนด 1: จับภาพสด โหนด 2: บันทึกรูปภาพเป็น "1.jpg" โหนด 3: รอ 5 วินาที โหนด 4: ทำซ้ำ ... หัวข้ออื่น ๆ : โหนด 1: รอจนกว่าภาพจะถูกจับ โหนด 2: การใช้ "1.jpg" รับสีจากทุกพิกเกิล โหนด 3: บันทึกข้อมูลในอาร์เรย์ โหนด 4: ทำซ้ำ ...
85 java  image  webcam  capture 

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