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

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

18
Gradle พบ JAVA_HOME ผิดแม้ว่าจะตั้งค่าไว้ถูกต้องแล้ว
เมื่อพยายามรัน gradle ฉันได้รับข้อผิดพลาดต่อไปนี้: # gradle ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java Please set the JAVA_HOME variable in your environment to match the location of your Java installation. อย่างไรก็ตามเมื่อฉันตรวจสอบตัวแปร JAVA_HOME ฉันจะได้รับ: # echo $JAVA_HOME /usr/lib/jvm/java-7-oracle JAVA_HOME ของฉันถูกกำหนดใน. bashrc และฉันได้ตรวจสอบสองครั้งว่ามันถูกตั้งค่าเป็นแหล่งที่มา การรันjava -versionยังยืนยันว่า JAVA_HOME ตั้งค่าไว้ถูกต้องและอยู่บน PATH # java -version java …

3
Tomcat VS Jetty [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันสงสัยเกี่ยวกับข้อเสียของแต่ละเซิร์ฟเวอร์ที่เกี่ยวกับสภาพแวดล้อมการใช้งานจริง ใครบ้างมีปัญหาใหญ่กับหนึ่งในคุณสมบัติ? ประสิทธิภาพการทำงาน ฯลฯ ฉันดูที่ Glassfish ใหม่อย่างรวดเร็วมันเข้ากับภาชนะบรรจุ servlet ง่าย ๆ หรือไม่ (ดูเหมือนว่าจะมีอินเตอร์เฟสการจัดการที่ดีอย่างน้อย)?

16
Java หลายมรดก
ในความพยายามที่จะเข้าใจวิธีแก้ปัญหาการสืบทอดหลายอย่างของ Java อย่างสมบูรณ์ฉันมีคำถามแบบคลาสสิกที่ฉันต้องการชี้แจง ให้บอกว่าฉันมีคลาสAnimalนี้มีคลาสย่อยBirdและHorseและฉันจำเป็นต้องทำคลาสPegasusที่ขยายจากBirdและHorseเนื่องจากPegasusเป็นทั้งนกและม้า ฉันคิดว่านี่เป็นปัญหาเพชรแบบดั้งเดิม จากสิ่งที่ฉันสามารถเข้าใจวิธีที่คลาสสิกที่จะแก้ปัญหานี้คือการทำให้Animal, BirdและHorseการเชื่อมต่อการเรียนและการดำเนินการPegasusจากพวกเขา ฉันสงสัยว่ามีวิธีอื่นในการแก้ปัญหาที่ฉันยังสามารถสร้างวัตถุสำหรับนกและม้าได้หรือไม่ หากมีวิธีที่จะสามารถสร้างสัตว์ก็จะดี แต่ไม่จำเป็น

8
การเพิ่ม Java 8 สตรีมสองรายการหรือองค์ประกอบพิเศษให้กับสตรีม
ฉันสามารถเพิ่มสตรีมหรือองค์ประกอบเพิ่มเติมเช่นนี้ Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); และฉันสามารถเพิ่มสิ่งใหม่ตามที่ฉันไปเช่นนี้ Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); แต่นี่น่าเกลียดเพราะconcatเป็นแบบคงที่ หากconcatเป็นวิธีการแบบอินสแตนซ์ตัวอย่างด้านบนจะง่ายต่อการอ่านมากขึ้น: Stream stream = stream1.concat(stream2).concat(element); และ Stream stream = stream1 .filter(x -> x!=0) .concat(stream2) .filter(x -> x!=1) .concat(element) .filter(x -> x!=2); คำถามของฉันคือ: 1) มีเหตุผลที่ดีใด ๆ …

8
สำนวนที่ถูกต้องสำหรับการจัดการทรัพยากรที่ถูกผูกมัดในลองกับทรัพยากร
ไวยากรณ์ของJava 7 try-with-resources (หรือที่รู้จักในชื่อ ARM block ( การจัดการทรัพยากรอัตโนมัติ )) เป็นสิ่งที่ดีสั้นและตรงไปตรงมาเมื่อใช้AutoCloseableทรัพยากรเพียงแหล่งเดียว อย่างไรก็ตามฉันไม่แน่ใจว่าสำนวนที่ถูกต้องคืออะไรเมื่อฉันต้องการประกาศหลาย ๆ ทรัพยากรที่ต้องพึ่งพาซึ่งกันและกันตัวอย่างเช่น a FileWriterและ a BufferedWriterที่ล้อมรอบ แน่นอนว่าคำถามนี้เกี่ยวข้องกับกรณีใด ๆ เมื่อAutoCloseableมีการห่อทรัพยากรไม่เฉพาะชั้นเรียนเฉพาะสองแห่งนี้ ฉันมากับทางเลือกทั้งสามต่อไปนี้: 1) สำนวนไร้เดียงสาที่ฉันเห็นคือประกาศเฉพาะเสื้อคลุมระดับบนสุดในตัวแปรที่จัดการโดย ARM: static void printToFile1(String text, File file) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) { bw.write(text); } catch (IOException ex) { // handle ex } } …

19
ความแตกต่างระหว่าง HashSet และ HashMap?
นอกเหนือจากความจริงที่HashSetไม่อนุญาตให้มีค่าซ้ำกันความแตกต่างระหว่างHashMapและHashSetคืออะไร ฉันหมายถึงการนำไปปฏิบัติอย่างชาญฉลาด? มันค่อนข้างคลุมเครือเพราะทั้งคู่ใช้ตารางแฮชเพื่อเก็บค่า

8
@UniqueConstraint คำอธิบายประกอบใน Java
ฉันมี Java bean ตอนนี้ฉันต้องการแน่ใจว่าฟิลด์ควรไม่ซ้ำกัน ฉันกำลังใช้รหัสต่อไปนี้: @UniqueConstraint(columnNames={"username"}) public String username; แต่ฉันได้รับข้อผิดพลาด: @UniqueConstraint is dissallowed for this location วิธีที่เหมาะสมในการใช้ข้อ จำกัด ที่ไม่ซ้ำกันคืออะไร หมายเหตุ:ฉันใช้กรอบการเล่น

7
วิธีที่ดีที่สุดในการเพิ่มการรองรับ Gradle ให้กับโครงการ IntelliJ
ฉันดูไปรอบ ๆ แล้วและไม่พบทางออกที่ดีที่สุดในการแปลงโครงการ IntelliJ ที่มีอยู่เป็น Gradle ฉันทำงานในสภาพแวดล้อมแบบทีมและปัจจุบันเราแชร์ไฟล์. ipr เนื่องจากเรามีการกำหนดค่าการสร้างบางอย่างที่เราติดตาม เราจะกำจัดพวกที่ชอบ Gradle ในที่สุด แต่ฉันไม่สามารถทำสิ่งต่าง ๆ มากเกินไปจนกว่าการแปลง Gradle จะเสร็จสิ้น นอกจากนี้ไฟล์ต้นฉบับ Java ของเรายังอยู่ในรูทของไดเรกทอรี src แทน src / main / java ตามที่เป็นมาตรฐาน มีวิธีที่ฉันสามารถเพิ่ม Gradle ให้กับโครงการของฉันที่จะไม่ทำให้ฉันลบและสร้างโครงการ IntelliJ ของฉันขึ้นมาใหม่และจะไม่ทำให้คนอื่นสับสนเมื่อพวกเขาทำ Git pull?

16
การแปลง int เป็นตัวแทนสตริงไบนารีใน Java?
สิ่งที่จะเป็นวิธีที่ดีที่สุด (นึกคิดง่ายที่สุด) เพื่อแปลง int เป็นตัวแทนสตริงไบนารีใน Java? ตัวอย่างเช่นสมมติว่า int คือ 156 การแสดงสตริงไบนารี่ของสิ่งนี้จะเป็น "10011100"
168 java  string  binary  int 

6
"ด้านผกผันของสมาคม" ใน JPA OneToMany / ManyToOne แบบสองทิศทางคืออะไร
ในส่วนตัวอย่างของการ@OneToManyอ้างอิงคำอธิบายประกอบ JPA : ตัวอย่าง 1-59 @OneToMany - ระดับลูกค้าพร้อม Generics @Entity public class Customer implements Serializable { ... @OneToMany(cascade=ALL, mappedBy="customer") public Set<Order> getOrders() { return orders; } ... } ตัวอย่าง 1-60 @ManyToOne - คลาสคำสั่งซื้อกับ Generics @Entity public class Order implements Serializable { ... @ManyToOne @JoinColumn(name="CUST_ID", nullable=false) public Customer getCustomer() { return …

6
จุดพักถูกขีดลงฉันจะทำให้พวกเขาใช้งานได้อย่างไร
ฉันมีเล่ห์เหลี่ยมหนึ่ง: ฉันไม่สามารถตั้งค่าเบรกพอยต์ที่ถูกต้อง ไม่อยู่ในการทดสอบไม่ใช่ใน Java Classes ของฉัน ฉันค้นหา Stackoverflow และ google แต่ไม่พบใครที่มีปัญหาเดียวกัน ฉันใช้ STS (x86) และ Maven แก้ไข:มันอาจดูสับสน แต่ฉันแก้ไขด้วยตัวเอง ฉันต้องไปวิ่ง -> ข้ามจุดพักทั้งหมด (มันถูกตั้งค่าและฉันสงสัยว่ามันถูกตั้งค่าเพราะฉันไม่ได้ทำ)

13
การอนุญาตของ Android ไม่ทำงานแม้ว่าฉันจะประกาศแล้วก็ตาม
ฉันกำลังพยายามเขียนรหัสเพื่อส่ง SMS จากแอพ Android แต่เมื่อฉันพยายามส่ง SMS มันจะส่งข้อผิดพลาดกลับมาให้ฉัน: 09-17 18:37:29.974 12847-12847/**.**.****E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: **.**.****, PID: 12847 java.lang.SecurityException: Sending SMS message: uid 10092 does not have android.permission.SEND_SMS. at android.os.Parcel.readException(Parcel.java:1599) at android.os.Parcel.readException(Parcel.java:1552) at com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:768) at android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:310) at android.telephony.SmsManager.sendTextMessage(SmsManager.java:293) at **.**.****.MainActivity$3.onClick(MainActivity.java:70) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at …

13
ความแตกต่างระหว่าง & และ & & ใน Java คืออะไร?
ฉันคิดเสมอว่า&&ตัวดำเนินการใน Java ใช้สำหรับตรวจสอบว่าตัวถูกดำเนินการบูลีนtrueหรือไม่และตัว&ดำเนินการใช้ในการดำเนินการบิตฉลาดในสองจำนวนเต็ม เมื่อเร็ว ๆ นี้ฉันรู้ว่า&ตัวดำเนินการสามารถใช้ตรวจสอบว่าตัวถูกดำเนินการบูลีนtrueความแตกต่างเพียงอย่างเดียวที่จะตรวจสอบตัวถูกดำเนินการ RHS แม้ว่าตัวถูกดำเนินการ LHS เป็นเท็จ ตัว&ดำเนินการใน Java โอเวอร์โหลดอยู่ภายในหรือไม่ หรือมีแนวคิดอื่น ๆ ที่อยู่เบื้องหลังเรื่องนี้?

14
รับกุญแจจาก HashMap ใน Java
ฉันมี Hashmap ใน Java เช่นนี้: private Map<String, Integer> team1 = new HashMap<String, Integer>(); จากนั้นฉันก็เติมมันเช่นนี้: team1.put("United", 5); ฉันจะรับกุญแจได้อย่างไร สิ่งที่ต้องการ: team1.getKey()เพื่อส่งคืน "ยูไนเต็ด"

13
วิธีการแปลง int [] ถึง Integer [] ใน Java?
ฉันใหม่กับ Java และสับสนมาก ฉันมีชุดข้อมูลขนาดใหญ่ที่มีความยาว 4 int[]และฉันต้องการนับจำนวนครั้งที่การรวมกันโดยเฉพาะของจำนวนเต็ม 4 ตัวเกิดขึ้น ซึ่งคล้ายกับการนับความถี่คำในเอกสาร ฉันต้องการสร้างMap<int[], double>แผนที่ที่แต่ละ int [] ไปยังจำนวนที่กำลังทำงานอยู่เนื่องจากรายการมีการวนซ้ำ แต่ Map ไม่ได้ใช้ประเภทดั้งเดิม ดังนั้นฉันทำ Map<Integer[], Double> ข้อมูลของฉันถูกเก็บไว้เป็นArrayList<int[]>วนรอบดังนั้นฉันควรเป็นแบบนี้ ArrayList<int[]> data = ... // load a dataset` Map<Integer[], Double> frequencies = new HashMap<Integer[], Double>(); for(int[] q : data) { // **DO SOMETHING TO convert q from int[] to …

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