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

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

4
ความสับสน: @NotNull เทียบกับ @ คอลัมน์ (nullable = false) ด้วย JPA และไฮเบอร์เนต
เมื่อพวกเขาปรากฏบนสนาม / ทะเยอทะยานของความ@Entityแตกต่างระหว่างพวกเขาคืออะไร? (ฉันยืนยันเอนทิตีผ่านไฮเบอร์เนต ) กรอบและ / หรือข้อกำหนดใดที่แต่ละข้อเป็นของ @NotNulljavax.validation.constraintsตั้งอยู่ภายใน ในjavax.validation.constraints.NotNulljavadoc มันบอกว่า องค์ประกอบที่ใส่หมายเหตุประกอบจะต้องไม่เป็นโมฆะ แต่มันไม่ได้พูดถึงการเป็นตัวแทนขององค์ประกอบในฐานข้อมูลดังนั้นทำไมฉันจะเพิ่มข้อ จำกัดnullable=falseในคอลัมน์?


13
อ่านไฟล์ทรัพยากรจากภายในขวด
ฉันต้องการอ่านทรัพยากรจากในขวดของฉันเช่น: File file; file = new File(getClass().getResource("/file.txt").toURI()); BufferredReader reader = new BufferedReader(new FileReader(file)); //Read the file และใช้งานได้ดีเมื่อรันใน Eclipse แต่ถ้าฉันส่งออกไปยัง jar การรันจะมี IllegalArgumentException: Exception in thread "Thread-2" java.lang.IllegalArgumentException: URI is not hierarchical และฉันไม่รู้จริงๆว่าทำไม แต่ด้วยการทดสอบบางอย่างฉันพบว่าฉันเปลี่ยน file = new File(getClass().getResource("/file.txt").toURI()); ถึง file = new File(getClass().getResource("/folder/file.txt").toURI()); จากนั้นทำงานตรงกันข้าม (ใช้งานได้ใน jar แต่ไม่ใช่คราส) ฉันใช้ Eclipse และโฟลเดอร์ที่มีไฟล์ของฉันอยู่ในโฟลเดอร์ class

4
ความแตกต่างระหว่างโหลดเดอร์คลาสบริบทของเธรดและ classloader ปกติ
ความแตกต่างระหว่างตัวโหลดคลาสบริบทของเธรดและตัวโหลดคลาสปกติคืออะไร นั่นคือถ้าThread.currentThread().getContextClassLoader()และgetClass().getClassLoader()ส่งคืนคลาสโหลดเดอร์อ็อบเจ็กต์ที่แตกต่างกันอันใดจะถูกใช้?

12
แปลง Iterator เป็น ArrayList
รับIterator<Element>แล้วเราจะแปลงIteratorให้เป็นArrayList<Element>(หรือList<Element> ) ในที่ดีที่สุดและเร็วที่สุดในทางที่เป็นไปเพื่อให้เราสามารถใช้ArrayList'การดำเนินงานเกี่ยวกับมันเช่นget(index), add(element)ฯลฯ
241 java  list  arraylist  iterator 

7
Collections.emptyList () กับอินสแตนซ์ใหม่
ในทางปฏิบัติมันเป็นดีกว่าที่จะกลับรายการที่ว่างเปล่าเช่นนี้ : return Collections.emptyList(); หรือชอบนี้ : return new ArrayList<Foo>(); หรือสิ่งนี้ขึ้นอยู่กับสิ่งที่คุณจะทำกับรายการที่ส่งคืน?

3
ทำไม Iterable <T> ไม่ได้ให้วิธีการสตรีม () และ parallelStream ()
ฉันสงสัยว่าทำไมIterableอินเทอร์เฟซไม่ได้ให้stream()และparallelStream()วิธีการ พิจารณาคลาสต่อไปนี้: public class Hand implements Iterable&lt;Card&gt; { private final List&lt;Card&gt; list = new ArrayList&lt;&gt;(); private final int capacity; //... @Override public Iterator&lt;Card&gt; iterator() { return list.iterator(); } } มันคือการนำมือมาใช้เพราะคุณสามารถมีไพ่ในมือขณะเล่นเกมการ์ดซื้อขาย โดยพื้นฐานแล้วมันจะห่อหุ้มList&lt;Card&gt;ให้แน่ใจว่ามีความจุสูงสุดและมีคุณสมบัติที่มีประโยชน์อื่น ๆ List&lt;Card&gt;มันจะดีกว่าขณะที่การดำเนินการนั้นโดยตรงเป็น ตอนนี้เพื่อความมั่นใจฉันคิดว่ามันจะเป็นการดีถ้าจะนำไปใช้Iterable&lt;Card&gt;เช่นคุณสามารถใช้ลูปเสริมสำหรับลูปถ้าคุณต้องการวนซ้ำ ( Handชั้นเรียนของฉันมีget(int index)วิธีการด้วยเหตุนี้สิ่งนี้จึงIterable&lt;Card&gt;เป็นเหตุผลในความคิดของฉัน) Iterableอินเตอร์เฟซให้ดังต่อไปนี้ (ซ้ายออก Javadoc): public interface Iterable&lt;T&gt; { Iterator&lt;T&gt; iterator(); default void forEach(Consumer&lt;? super …

5
IntelliJ แสดงคำแนะนำพารามิเตอร์วิธีการใช้งาน - วิธีการปิดการใช้งาน
ฉันใหม่เพื่อ IntelliJ และมีการปรับปรุงเมื่อเร็ว ๆ นี้IntelliJ-2016.3 ในเอดิเตอร์สำหรับโค้ด Java จะแสดงลายเซ็นเมธอดเมื่อใช้งาน ฉันจะปิดการใช้งานคุณสมบัตินี้ได้อย่างไร? นี่คือตัวอย่างของลายเซ็นของวิธีการและไซต์การโทร: วิธีการโทร: พฤติกรรมนี้ไม่ได้อยู่ในเวอร์ชัน 2016.1.4 ฉันเห็นสิ่งนี้หลังจากอัปเดต ความช่วยเหลือใด ๆ ที่ชื่นชม!

16
ฉันจะรวมวัตถุ HashMap สองรายการที่มีประเภทเดียวกันได้อย่างไร
ฉันมีHashMapวัตถุสองอย่างที่กำหนดเช่นนั้น: HashMap&lt;String, Integer&gt; map1 = new HashMap&lt;String, Integer&gt;(); HashMap&lt;String, Integer&gt; map2 = new HashMap&lt;String, Integer&gt;(); ฉันยังมีHashMapวัตถุที่สาม: HashMap&lt;String, Integer&gt; map3; ฉันจะรวมmap1และmap2เข้าด้วยกันmap3?
241 java  hashmap 

3
การทำให้เป็นมาตรฐานใน DOM การแยกวิเคราะห์ด้วย java - มันทำงานอย่างไร
ฉันเห็นบรรทัดด้านล่างในรหัสสำหรับตัวแยกวิเคราะห์ DOM ที่บทช่วยสอนนี้ doc.getDocumentElement().normalize(); ทำไมเราถึงทำสิ่งนี้ให้เป็นมาตรฐาน? ฉันอ่านเอกสารแต่ไม่เข้าใจคำ วางโหนดข้อความทั้งหมดในระดับความลึกเต็มของทรีย่อยที่อยู่ใต้โหนดนี้ โอเคแล้วมีคนแสดงให้ฉันดู (ต้นไม้น่าจะดีกว่า) ต้นไม้ชนิดนี้เป็นอย่างไร ทุกคนสามารถอธิบายได้ไหมว่าทำไมต้องมีการปรับสภาพให้เป็นมาตรฐาน? จะเกิดอะไรขึ้นถ้าเราไม่ทำให้ปกติ


16
วิธีที่ดีที่สุดในการแสดงรายการไฟล์ใน Java เรียงตามวันที่แก้ไขหรือไม่
ฉันต้องการรับรายชื่อไฟล์ในไดเรกทอรี แต่ฉันต้องการเรียงลำดับเพื่อให้ไฟล์ที่เก่าที่สุดเป็นอันดับแรก วิธีแก้ปัญหาของฉันคือโทร File.listFiles และเพียงแค่เรียกรายการตาม File.lastModified แต่ฉันสงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ แก้ไข: โซลูชันปัจจุบันของฉันตามที่แนะนำคือใช้ตัวเปรียบเทียบแบบไม่ระบุชื่อ: File[] files = directory.listFiles(); Arrays.sort(files, new Comparator&lt;File&gt;(){ public int compare(File f1, File f2) { return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); } });
240 java  file  sorting 

14
รับชื่อของการทดสอบที่กำลังดำเนินการใน JUnit 4
ใน JUnit 3 ฉันสามารถรับชื่อของการทดสอบที่รันอยู่ในปัจจุบันเช่นนี้: public class MyTest extends TestCase { public void testSomething() { System.out.println("Current test is " + getName()); ... } } ซึ่งจะพิมพ์ "การทดสอบปัจจุบันคือการทดสอบบางอย่าง" มีวิธีการนอกกรอบหรือวิธีการง่ายๆใน JUnit 4 หรือไม่? พื้นหลัง: เห็นได้ชัดว่าฉันไม่ต้องการพิมพ์ชื่อการทดสอบ ฉันต้องการโหลดข้อมูลเฉพาะของการทดสอบที่เก็บไว้ในทรัพยากรที่มีชื่อเดียวกับการทดสอบ คุณรู้ว่าการประชุมเกี่ยวกับการกำหนดค่าและทุกสิ่งที่
240 java  unit-testing  junit 

7
วิธีแปลงค่า enum เป็น int
ฉันมีฟังก์ชั่นที่คืนค่า int อย่างไรก็ตามฉันมีค่าการแจงนับ TAX เท่านั้น ฉันจะส่งค่าการแจงนับ TAX ไปยัง int ได้อย่างไร public enum TAX { NOTAX(0),SALESTAX(10),IMPORTEDTAX(5); private int value; private TAX(int value){ this.value = value; } } TAX var = TAX.NOTAX; // This value will differ public int getTaxValue() { // what do do here? // return (int)var; }
240 java  enums 

3
Java 8 lambdas, Function.identity () หรือ t-> t
ถ้าเป็นเช่นนั้นStack Overflow จะถูกปล่อยออกมา : Лямбдыใน Java 8, чтолучшеиспользовать - Function.identity () или t-&gt; t? ฉันมีคำถามเกี่ยวกับการใช้Function.identity()วิธีการ ลองนึกภาพโค้ดต่อไปนี้: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // &lt;- This, .map(str -&gt; str) // &lt;- is the same as this. .collect(Collectors.toMap( Function.identity(), // &lt;-- And this, str -&gt; str)); // &lt;-- is the same as this. …

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