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

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

8
วิธีรับ UserDetails ของผู้ใช้ที่ใช้งานอยู่
ในตัวควบคุมของฉันเมื่อฉันต้องการผู้ใช้ที่ใช้งานอยู่ (ล็อกอิน) ฉันกำลังทำสิ่งต่อไปนี้เพื่อให้เกิดUserDetailsการใช้งานของฉัน: User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); log.debug(activeUser.getSomeCustomField()); มันใช้งานได้ดี แต่ฉันคิดว่า Spring จะทำให้ชีวิตง่ายขึ้นในกรณีเช่นนี้ มีวิธีที่จะUserDetailsautowired เป็นทั้งตัวควบคุมหรือวิธีการหรือไม่ ตัวอย่างเช่น: public ModelAndView someRequestHandler(Principal principal) { ... } แต่แทนที่จะได้รับUsernamePasswordAuthenticationTokenฉันจะได้รับUserDetailsแทนหรือไม่ ฉันกำลังมองหาทางออกที่สง่างาม ความคิดใด ๆ

6
ไม่พบข้อยกเว้น Java?
ฉันมีปัญหาทางทฤษฎีเล็กน้อยกับการสร้างแบบลองจับ ฉันสอบภาคปฏิบัติเมื่อวานนี้เกี่ยวกับ Java และฉันไม่เข้าใจตัวอย่างต่อไปนี้: try { try { System.out.print("A"); throw new Exception("1"); } catch (Exception e) { System.out.print("B"); throw new Exception("2"); } finally { System.out.print("C"); throw new Exception("3"); } } catch (Exception e) { System.out.print(e.getMessage()); } คำถามคือ "ผลลัพธ์จะเป็นอย่างไร" ฉันค่อนข้างแน่ใจว่ามันจะเป็น AB2C3 แต่น่าแปลกใจ แต่ก็ไม่เป็นความจริง คำตอบที่ถูกต้องคือ ABC3 (ทดสอบแล้วและเป็นแบบนั้นจริงๆ) คำถามของฉันคือข้อยกเว้น ("2") หายไปไหน

10
NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
มีปัญหากับไลบรารี Android appcompat v7 บนอุปกรณ์ Samsung ที่ใช้ Android 4.2 ฉันได้รับความขัดข้องด้วยการติดตามสแต็กต่อไปนี้ในคอนโซลนักพัฒนาซอฟต์แวร์ของฉัน: java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder at android.support.v7.widget.PopupMenu.<init>(PopupMenu.java:66) at com.[my-package-name].CustomActivity$5.onClick(CustomActivity.java:215) at android.view.View.performClick(View.java:4222) at android.view.View$PerformClick.run(View.java:17620) at android.os.Handler.handleCallback(Handler.java:800) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5391) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) at dalvik.system.NativeStart.main(Native Method) นี่คือสาย 215 ของ CustomActivity.java: PopupMenu popup = new PopupMenu(CustomActivity.this, mImageViewMenu); …

17
เรียงลำดับอาร์เรย์ใน Java
ฉันกำลังพยายามสร้างโปรแกรมที่ประกอบด้วยอาร์เรย์จำนวนเต็ม 10 ตัวซึ่งทั้งหมดมีค่าแบบสุ่มดังนั้นดีมาก อย่างไรก็ตามตอนนี้ฉันต้องเรียงลำดับตามค่าต่ำสุดถึงสูงสุดแล้วพิมพ์ลงบนหน้าจอฉันจะทำอย่างไร (ขออภัยที่มีรหัสมากสำหรับโปรแกรมที่มีขนาดเล็กฉันไม่ได้ดีกับลูปเพิ่งเริ่มทำงานกับ Java) public static void main(String args[]) { int [] array = new int[10]; array[0] = ((int)(Math.random()*100+1)); array[1] = ((int)(Math.random()*100+1)); array[2] = ((int)(Math.random()*100+1)); array[3] = ((int)(Math.random()*100+1)); array[4] = ((int)(Math.random()*100+1)); array[5] = ((int)(Math.random()*100+1)); array[6] = ((int)(Math.random()*100+1)); array[7] = ((int)(Math.random()*100+1)); array[8] = ((int)(Math.random()*100+1)); array[9] = ((int)(Math.random()*100+1)); System.out.println(array[0] +" …
170 java  arrays 

9
ฉันจะทำให้การทดสอบ Maven Integration ของฉันทำงานได้อย่างไร
ฉันมีโครงการหลายโมดูล maven2 และในแต่ละโมดูลลูกของฉันฉันมีการทดสอบ JUnit ที่มีชื่อTest.javaและIntegration.javaสำหรับการทดสอบหน่วยและการทดสอบการรวมตามลำดับ เมื่อฉันรัน: mvn test การทดสอบ JUnit ทั้งหมด*Test.javaภายในโมดูลย่อยถูกเรียกใช้งาน เมื่อฉันรัน mvn test -Dtest=**/*Integration ไม่มีการIntegration.javaทดสอบใดที่จะดำเนินการภายในโมดูลย่อย สิ่งเหล่านี้ดูเหมือนคำสั่งเดียวกับฉัน แต่คำสั่งที่รวมกับ-Dtest = / * Integration ** ไม่ทำงานแสดงว่ามีการทดสอบ 0 รายการที่เรียกใช้ในระดับผู้ปกครองซึ่งไม่มีการทดสอบใด ๆ

4
กลุ่มการจับ Java Regex
ฉันพยายามที่จะเข้าใจรหัสบล็อกนี้ ในอันแรกสิ่งที่เรากำลังมองหาในการแสดงออกคืออะไร? ความเข้าใจของฉันคือว่ามันเป็นตัวละครใด ๆ (0 หรือมากกว่าครั้ง *) ตามด้วยหมายเลขใด ๆ ระหว่าง 0 และ 9 (หนึ่งหรือมากกว่าหนึ่งครั้ง +) ตามด้วยตัวละครใด ๆ (0 หรือมากกว่าครั้ง *) เมื่อสิ่งนี้ถูกดำเนินการผลลัพธ์คือ: Found value: This order was placed for QT3000! OK? Found value: This order was placed for QT300 Found value: 0 ใครช่วยกรุณาผ่านสิ่งนี้กับฉันได้ไหม ข้อดีของการใช้กลุ่มการบันทึกคืออะไร import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTut3 …
170 java  regex 

6
จัดกลุ่มตามจำนวนใน Java 8 stream API
ฉันพยายามหาวิธีง่ายๆใน Java 8 stream API เพื่อทำการจัดกลุ่มฉันออกมาด้วยวิธีที่ซับซ้อนนี้! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { e.getKey(), String.valueOf(e.getValue().size()) }) .collect(Collectors.toList()); collect2.forEach(o -> System.out.println(o[0] + " >> " + o[1])); ฉันขอขอบคุณที่คุณป้อนข้อมูล

5
ตัวดำเนินการลูกศร '->' ทำอะไรใน Java
ในขณะที่กำลังค้นหารหัสฉันพบผู้ปฏิบัติงานลูกศรมันทำอะไรกันแน่? ฉันคิดว่า Java ไม่มีโอเปอเรเตอร์ Arrow return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); }); รายละเอียด : Java 6, Apache Commons Collection, IntelliJ 12 อัปเดต / ตอบ:ปรากฎว่า IntelliJ 12 รองรับ Java 8 ซึ่งรองรับ lambdas และเป็น "การพับ" เพรดิเคตและแสดงเป็น lambdas ด้านล่างคือรหัส "ไม่ถูกพับ" return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() { public boolean evaluate(Object …

3
อะไรคือสิ่งที่ผู้บริโภคกำหนดคาฟคาชดเชย
ฉันค่อนข้างใหม่สำหรับ Kafka ฉันได้ทำการทดลองเล็กน้อย แต่มีบางสิ่งที่ไม่ชัดเจนเกี่ยวกับการชดเชยผู้บริโภค จากสิ่งที่ฉันเข้าใจจนถึงตอนที่ผู้บริโภคเริ่มต้นการชดเชยที่จะเริ่มอ่านจะถูกกำหนดโดยการตั้งค่าการกำหนดค่าauto.offset.reset(แก้ไขฉันถ้าฉันผิด) ตอนนี้พูดเช่นว่ามี 10 ข้อความ (ออฟเซ็ต 0 ถึง 9) ในหัวข้อและผู้บริโภคเกิดขึ้นที่จะกิน 5 ของพวกเขาก่อนที่มันจะลง (หรือก่อนที่ฉันจะฆ่าผู้บริโภค) จากนั้นบอกว่าฉันรีสตาร์ทกระบวนการผู้บริโภคนั้น คำถามของฉันคือ: ถ้าauto.offset.resetตั้งค่าsmallestเป็นมันจะเริ่มต้นการบริโภคจาก offset 0 เสมอหรือไม่ ถ้าauto.offset.resetตั้งไว้ที่largestจะเริ่มบริโภคจาก offset 5 หรือไม่ พฤติกรรมเกี่ยวกับสถานการณ์ประเภทนี้เป็นสิ่งกำหนดขึ้นมาเสมอหรือไม่? โปรดอย่าลังเลที่จะแสดงความคิดเห็นหากสิ่งใดในคำถามของฉันไม่ชัดเจน ขอบคุณล่วงหน้า.

7
คอลเลกชันที่ไม่เปลี่ยนรูปไม่ได้ vs
จากภาพรวม Collections Framework : คอลเลกชันที่ไม่สนับสนุนการดำเนินการปรับเปลี่ยน (เช่นadd, removeและclear) จะเรียกว่าunmodifiable คอลเลกชันที่ไม่ unmodifiable มีความสามารถปรับเปลี่ยนได้ คอลเลกชันที่ยังรับประกันได้ว่าการเปลี่ยนแปลงในไม่มีCollectionวัตถุที่จะมองเห็นได้จะเรียกว่าไม่เปลี่ยนรูป คอลเลกชันที่ไม่ได้เปลี่ยนรูปเป็นไม่แน่นอน ฉันไม่เข้าใจความแตกต่าง ความแตกต่างระหว่างunmodifiableและไม่เปลี่ยนรูปที่นี่คืออะไร

10
รับบูลีนจากฐานข้อมูลโดยใช้ Android และ SQLite
ฉันจะรับค่าของฟิลด์บูลีนในฐานข้อมูลSQLiteบน Android ได้อย่างไร? ฉันมักจะใช้getString(), getInt()ฯลฯ เพื่อรับค่าของเขตข้อมูลของฉัน แต่ดูเหมือนจะไม่มีgetBoolean()วิธีการ
169 java  android  sqlite  boolean 

21
เข้าร่วมเป็นคนขี้เกียจ?
เมื่อเร็ว ๆ นี้ฉันได้พูดคุยกับนักพัฒนารายอื่นที่อ้างกับฉันว่า JOIN (SQL) ไร้ประโยชน์ นี่เป็นความจริงทางเทคนิค แต่เขาเสริมว่าการใช้การเข้าร่วมนั้นมีประสิทธิภาพน้อยกว่าการร้องขอหลายครั้งและตารางลิงก์ในรหัส (C # หรือ Java) สำหรับเขาเข้าร่วมสำหรับคนขี้เกียจที่ไม่สนใจเรื่องการแสดง มันเป็นเรื่องจริงเหรอ? เราควรหลีกเลี่ยงการใช้การเข้าร่วม?
169 c#  java  sql  join 

7
Apache Tomcat ไม่แสดงในสภาพแวดล้อมรันไทม์ของเซิร์ฟเวอร์ Eclipse
ฉันมีแมวตัวผู้ 5.5 การติดตั้งการทำงานและตรวจสอบได้ที่http: // localhost: 8080 / ตัวเลือกเมนู Tomcat ปรากฏในแถบเมนู Eclipse และฉันสามารถเริ่มและหยุด Tomcat ได้ ใน Eclipse จะไม่แสดงเป็น Server Runtime Environment ในหน้าต่าง - การกำหนดค่าตามความชอบ - เซิร์ฟเวอร์ - สภาวะแวดล้อมรันไทม์และไม่ปรากฏในรายการของสภาพแวดล้อมที่สามารถเพิ่มได้เมื่อฉันคลิกปุ่ม "เพิ่ม" สิ่งที่ฉันเห็นคือ J2EE Runtime Library แก้ไข: ทำงานบน Windows XP เวอร์ชัน Eclipse คือ 3.5.1
169 java  eclipse  tomcat 


4
วิธีเปลี่ยนชื่อฟิลด์ใน JSON โดยใช้ Jackson
ฉันใช้แจ็คสันในการแปลงวัตถุของฉันเป็นเจสัน วัตถุมี 2 ฟิลด์: @Entity public class City { @id Long id; String name; public String getName() { return name; } public void setName(String name){ this.name = name; } public Long getId() { return id; } public void setName(Long id){ this.id = id; } } เนื่องจากฉันต้องการใช้คุณลักษณะนี้กับ jQuery auto complete ฉันต้องการให้ …

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