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

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

12
จะรู้ได้อย่างไรว่ากระทู้อื่นจบแล้ว?
ฉันมีวัตถุที่มีเมธอดชื่อStartDownload()ซึ่งเริ่มต้นสามเธรด ฉันจะรับการแจ้งเตือนได้อย่างไรเมื่อแต่ละเธรดดำเนินการเสร็จสิ้น มีวิธีที่จะทราบว่าเธรดหนึ่ง (หรือทั้งหมด) เสร็จสิ้นหรือยังคงดำเนินการอยู่หรือไม่?

4
ฉันสามารถหาค่าส่งคืนก่อนที่จะส่งคืนในขณะที่แก้ไขข้อบกพร่องใน Intellij ได้หรือไม่
ด้วย: Object method(){ ... return /* some complex expression */ } มีวิธีที่ฉันสามารถดูว่าจะส่งคืนค่าใดในขณะที่แก้ไขข้อบกพร่องหรือไม่ เช่นเดียวกับการตั้งค่าเบรกพอยต์ที่จะถูกตีทันทีหลังจากการส่งคืน แต่ก่อนที่จะดำเนินการไปที่รหัสการโทร? ฉันต้องการทราบว่าค่าที่ส่งคืนคืออะไรและสามารถดูว่าค่าของตัวแปรท้องถิ่นทั้งหมดเป็นเท่าใด Object ret = /* something complex */; return ret;วิธีที่ผมทำตอนนี้คือการทำให้ตัวแปรชั่วคราว: แต่นั่นเป็นเรื่องยุ่งยากและยังเพิ่มบรรทัดรหัสที่ไม่จำเป็นอีกด้วย หมายเหตุ: นี่เป็นคำถามเดียวกับฉันสามารถหาค่าที่ส่งคืนได้ก่อนที่จะส่งคืนในขณะที่แก้ไขข้อบกพร่องใน Visual Studioแต่สำหรับ intellij

10
เหตุใด exception.printStackTrace () จึงถือว่าเป็นการปฏิบัติที่ไม่ดี
มีเป็นจำนวนมากของวัสดุออกมีซึ่งแสดงให้เห็นว่าการพิมพ์ร่องรอยสแต็คของข้อยกเว้นคือการปฏิบัติที่ไม่ดี เช่นจากการตรวจสอบ RegexpSingleline ใน Checkstyle: การตรวจสอบนี้สามารถใช้ [... ] เพื่อค้นหาแนวปฏิบัติที่ไม่ดีทั่วไปเช่นการเรียก ex.printStacktrace () อย่างไรก็ตามฉันกำลังดิ้นรนเพื่อค้นหาทุกที่ที่ให้เหตุผลที่ถูกต้องว่าทำไมการติดตามสแต็กจึงมีประโยชน์มากในการติดตามสิ่งที่ทำให้เกิดข้อยกเว้น สิ่งที่ฉันทราบ: ผู้ใช้ปลายทางไม่ควรมองเห็นสแต็กแทร็ก (สำหรับประสบการณ์ของผู้ใช้และวัตถุประสงค์ด้านความปลอดภัย) การสร้างสแต็กแทร็กเป็นกระบวนการที่ค่อนข้างแพง (แม้ว่าจะไม่น่าจะเป็นปัญหาในสถานการณ์ 'พิเศษ' ส่วนใหญ่) เฟรมเวิร์กการบันทึกจำนวนมากจะพิมพ์การติดตามสแต็กให้คุณ (ของเราไม่ทำและไม่เปลี่ยนไม่ได้ง่ายๆ) การพิมพ์การติดตามสแต็กไม่ถือเป็นการจัดการข้อผิดพลาด ควรใช้ร่วมกับการบันทึกข้อมูลอื่น ๆ และการจัดการข้อยกเว้น มีเหตุผลอะไรอีกบ้างที่หลีกเลี่ยงการพิมพ์สแต็กแทร็กในโค้ดของคุณ

9
ตัวเลือก javac เพื่อรวบรวมไฟล์ java ทั้งหมดภายใต้ไดเร็กทอรีที่กำหนดแบบวนซ้ำ
ฉันใช้คอมไพเลอร์ javac เพื่อรวบรวมไฟล์ java ในโครงการของฉัน com.vistas.utilไฟล์จะถูกกระจายไปทั่วหลายแพ็กเกจเช่นนี้: com.vistas.converter, com.vistas.LineHelper, com.current.mdcontect, แต่ละแพ็คเกจเหล่านี้มีไฟล์ java หลายไฟล์ ฉันใช้ javac แบบนี้: javac com/vistas/util/*.java com/vistas/converter/*.java com.vistas.LineHelper/*.java com/current/mdcontect/*.java (ในบรรทัดเดียว) แทนที่จะให้พา ธ มากมายฉันจะขอให้คอมไพเลอร์รวบรวมไฟล์ java ทั้งหมดแบบวนซ้ำจากไดเร็กทอรี com หลักได้อย่างไร
127 java  javac 

7
การผูกรายการใน @RequestParam
ฉันกำลังส่งพารามิเตอร์จากแบบฟอร์มด้วยวิธีนี้: myparam[0] : 'myValue1' myparam[1] : 'myValue2' myparam[2] : 'myValue3' otherParam : 'otherValue' anotherParam : 'anotherValue' ... ฉันรู้ว่าฉันสามารถรับพารามิเตอร์ทั้งหมดในเมธอดคอนโทรลเลอร์ได้โดยการเพิ่มพารามิเตอร์เช่น public String controllerMethod(@RequestParam Map<String, String> params){ .... } ฉันต้องการผูกพารามิเตอร์ myParam [] (ไม่ใช่พารามิเตอร์อื่น ๆ ) กับรายการหรืออาร์เรย์ (อะไรก็ตามที่เก็บลำดับดัชนี) ดังนั้นฉันจึงลองใช้ไวยากรณ์เช่น: public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){ .... } และ public String controllerMethod(@RequestParam(value="myParam") String[] myParams){ .... } …

4
เครื่องหมายทิลเดอร์ในวงเล็บเหลี่ยมหมายถึงอะไรเมื่อสร้างคลาสทั่วไปของ Java
ฉันกำลังอ่านตัวอย่าง JMockit และพบรหัสนี้: final List<OrderItem> actualItems = new ArrayList<~>(); เครื่องหมายทิลเดอร์ในตัวระบุทั่วไปหมายถึงอะไร ฉันรู้ว่ามันเป็นโอเปอเรเตอร์ NOT แบบ unary bit แต่ไม่เห็นตัวถูกดำเนินการที่นี่ นอกจากนี้ฉันพยายามรวบรวมและพบข้อผิดพลาด ฉันขาดอะไรไปหรือเปล่า?

7
งาน Gradle - ส่งผ่านอาร์กิวเมนต์ไปยังแอปพลิเคชัน Java
ฉันมีแอปพลิเคชัน Java ที่ทำงานด้วยงาน gradle แบบกำหนดเองและแอปพลิเคชันต้องการอาร์กิวเมนต์เมื่อถูกเรียกใช้ เหล่านี้คือ: programName ( string | -f filename | -d key | -h) Options: string Message to be used. -d key Use default messages, key must be s[hort], m[edium] or l[ong]. -f filename Use specified file as input. -h Help dialog. งาน Gradle ดูเหมือนว่า: task run …
127 java  gradle  arguments 


4
ย้ายไปยังรายการถัดไปโดยใช้ Java 8 foreach loop ในสตรีม
ฉันมีปัญหากับสตรีมของ Java 8 foreach ที่พยายามย้ายรายการถัดไปแบบวนซ้ำ ฉันไม่สามารถตั้งค่าคำสั่งเช่นcontinue;ใช้return;งานได้ แต่คุณจะออกจากลูปในกรณีนี้ ฉันต้องไปยังรายการถัดไปแบบวนซ้ำ ฉันจะทำเช่นนั้นได้อย่างไร? ตัวอย่าง (ไม่ทำงาน): try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){ filteredLines = lines.filter(...).foreach(line -> { ... if(...) continue; // this command doesn't working here }); } ตัวอย่าง (ที่ทำงาน): try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){ filteredLines = lines.filter(...).collect(Collectors.toList()); } for(String filteredLine : filteredLines){ ... if(...) continue; …
127 java  java-8 

10
รับวันแรกและวันสุดท้ายของเดือนโดยใช้ threeten, LocalDate
ฉันมี LocalDate ซึ่งจำเป็นต้องได้รับวันแรกและวันสุดท้ายของเดือน ฉันจะทำอย่างไร? เช่น. 13/2/2014 ฉันต้องการรับ1/2/2014และ28/2/2014ในรูปแบบLocalDate ใช้คลาส LocalDate ที่สาม
127 java  date  java-time 

10
Gradle - ไม่สามารถกำหนดเป้าหมายแพลตฟอร์ม: 'Java SE 8' โดยใช้ tool chain: 'JDK 7 (1.7)'
ฉันพยายามที่จะนำเข้าโครงการ Gradle ในความคิด Intellij กับแจก Gradle Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'ท้องถิ่นและได้รับการติดตามสแต็คที่มีข้อความต่อไปนี้: ใครช่วยอธิบายหน่อยได้ไหมว่าสาเหตุอะไร

28
ไม่รองรับ Major.minor รุ่น 52.0 ในแอปของฉัน
ฉันพยายามรวบรวมโครงการ Android ของฉันและฉันได้รับข้อผิดพลาดนี้ [INFO] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 [INFO] at java.lang.ClassLoader.defineClass1(Native Method) [INFO] at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [INFO] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [INFO] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) [INFO] at java.net.URLClassLoader.access$100(URLClassLoader.java:71) [INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) [INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [INFO] at java.security.AccessController.doPrivileged(Native Method) [INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [INFO] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) …

17
ข้อผิดพลาดไฮเบอร์เนต - QuerySyntaxException: ผู้ใช้ไม่ได้แมป [จากผู้ใช้]
ฉันพยายามดึงรายชื่อผู้ใช้ทั้งหมดจากตาราง "ผู้ใช้" และได้รับข้อผิดพลาดต่อไปนี้: org.hibernate.hql.internal.ast.QuerySyntaxException: users is not mapped [from users] org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180) org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110) org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:93) นี่คือรหัสที่ฉันเขียนเพื่อเพิ่ม / รับผู้ใช้: public List<User> getUsers() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); List<User> result = (List<User>) session.createQuery("from users").list(); session.getTransaction().commit(); return result; } public void addUser(User user) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.save(user); session.getTransaction().commit(); } public void …
126 java  hibernate 

16
ใครกำหนดประเภทเนื้อหาการตอบกลับใน Spring MVC (@ResponseBody)
ฉันมีแอปพลิเคชันเว็บ Spring MVC Java ที่ใช้ Annotation ซึ่งทำงานบนเว็บเซิร์ฟเวอร์ของท่าเทียบเรือ (ปัจจุบันอยู่ในปลั๊กอินท่าเทียบเรือ maven) ฉันกำลังพยายามสนับสนุน AJAX ด้วยวิธีการควบคุมเดียวที่ส่งคืนข้อความช่วยเหลือเพียงสตริง ทรัพยากรอยู่ในการเข้ารหัส UTF-8 ดังนั้นสตริงก็เช่นกัน แต่การตอบสนองของฉันจากเซิร์ฟเวอร์มาพร้อมกับ content-encoding: text/plain;charset=ISO-8859-1 แม้ว่าเบราว์เซอร์ของฉันจะส่ง Accept-Charset windows-1250,utf-8;q=0.7,*;q=0.7 ฉันใช้การกำหนดค่าเริ่มต้นของสปริง ฉันพบคำใบ้ในการเพิ่ม bean นี้ในการกำหนดค่า แต่ฉันคิดว่ามันไม่ได้ใช้เพราะมันบอกว่ามันไม่รองรับการเข้ารหัสและใช้ค่าเริ่มต้นแทน <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" /> </bean> รหัสคอนโทรลเลอร์ของฉันคือ (โปรดทราบว่าการเปลี่ยนแปลงประเภทการตอบกลับนี้ใช้ไม่ได้สำหรับฉัน): @RequestMapping(value = "ajax/gethelp") public @ResponseBody String handleGetHelp(Locale loc, String code, HttpServletResponse response) { log.debug("Getting help …

4
“ aapt” ข้อผิดพลาด IOException = 2 ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว "ทำไมฉันถึงสร้าง gradle บนเจนกินส์ไม่ได้
ฉันมีปัญหาเล็กน้อย ปัญหา: ฉันกำลังพยายามสร้างโครงการ Android ของฉันบนเจนกินส์และตอนนี้ฉันกำลังยืนอยู่กับปัญหานี้ฉันไม่สามารถแก้ไขได้ ระหว่างอาคารฉันมีข้อความแสดงข้อผิดพลาดนี้: :Client:mergeDebugResources /var/lib/jenkins/workspace/LMA-Client/Client/build/exploded-aar/com.google.android.gms/play-services/3.1.59/res/drawable-hdpi/common_signin_btn_text_focus_light.9.png: Error: Cannot run program "/opt/android-sdk/build-tools/19.0.1/aapt": java.io.IOException: error=2, No such file or directory :Client:mergeDebugResources FAILED คุณคงนึกออกว่า aapt นี้ ... ใช่มันอยู่ตรงนั้นและ png ... มันอยู่ที่นั่นด้วยดังนั้นความผิดพลาดต้องอยู่ที่อื่น การแก้ไขปัญหา? ตอนนี้ฉันใช้เวลาประมาณ 1-2 ชั่วโมงท่องเว็บไซต์ที่ยอดเยี่ยมนี้และสิ่งที่ฉันพบคือถ้า Jenkins ทำงานบนระบบ 64 บิตฉันต้องติดตั้ง ia32-libs เช่นนั้น: sudo apt-get install ia32-libs ตอนนี้ฉันลองแล้ว แต่ฉันไม่สามารถติดตั้งได้: The following packages have …
126 java  android  jenkins  gradle  aapt 

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