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

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

11
สร้างห้องสมุด Android Jar เพื่อจำหน่าย
ฉันรู้เกี่ยวกับโครงการห้องสมุด Android ซึ่งช่วยให้คุณสร้างโครงการที่แชร์ซึ่งสามารถดึงลงในแอปพลิเคชัน Android ได้ตามต้องการ อย่างไรก็ตามต้องใช้แหล่งข้อมูลนั้น ฉันกำลังมองหาวิธีการสร้างและแจกจ่ายไลบรารี่แบบโอเพ่นซอร์สที่สามารถใช้ในโครงการ Android อื่น ๆ เช่น JAR แบบดั้งเดิม สิ่งนี้จะต้องมีการใช้งานคอมไพเลอร์ Android ดังนั้นจึงไม่ใช่ไฟล์ vanilla-Java JAR FWIW ฉันไม่จำเป็นต้องฝังทรัพยากร / โครงร่างใน JAR ฉันเคยเห็นhttp://andparcel.com/แต่มันให้ความรู้สึกเหมือนเป็นการแก้ปัญหาและฉันอยากจะใช้บางสิ่งที่ 'สนับสนุนอย่างเป็นทางการ' โดย Google นอกจากนี้ฉันต้องตรวจสอบให้แน่ใจว่า JAR ที่ฉันสร้างนั้นสามารถใช้งานร่วมกับ Android SDK เวอร์ชันเก่า / ใหม่ได้ (เช่นฉันต้องการวิธีตั้งค่าเวอร์ชันแพลตฟอร์มเป้าหมาย ฯลฯ ) ชุดเครื่องมือ Android ล่าสุดอนุญาตให้สร้าง / ใช้ไบนารี JAR หรือไม่ คุณสามารถชี้ไปที่เอกสารบางอย่างเกี่ยวกับวิธีที่ฉันสามารถทำได้?
160 java  android  jar 

8
scala vs java, ประสิทธิภาพและหน่วยความจำ? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกระตือรือร้นที่จะดู Scala และมีคำถามพื้นฐานที่ฉันไม่สามารถหาคำตอบ: โดยทั่วไปมีประสิทธิภาพและการใช้หน่วยความจำระหว่าง Scala และ Java แตกต่างกันหรือไม่

6
กรองค่าเฉพาะในกรณีที่ไม่ใช่ค่า null โดยใช้แลมบ์ดาใน Java8
carฉันมีรายชื่อของวัตถุที่พูด ฉันต้องการที่จะกรองรายการนี้ขึ้นอยู่กับพารามิเตอร์บางโดยใช้ Java 8. แต่ถ้าพารามิเตอร์เป็นมันจะพ่นnull NullPointerExceptionจะกรองค่า Null ได้อย่างไร? รหัสปัจจุบันมีดังนี้ requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); นี้พ่นNullPointerExceptionถ้าผลตอบแทนgetName()null

4
เป็นไปได้ไหมที่จะส่งกระแสข้อมูลใน Java 8?
เป็นไปได้หรือไม่ที่จะส่งกระแสข้อมูลใน Java 8? ว่าฉันมีรายการวัตถุฉันสามารถทำสิ่งนี้เพื่อกรองวัตถุเพิ่มเติมทั้งหมด: Stream.of(objects).filter(c -> c instanceof Client) แม้ว่าหลังจากนี้ถ้าฉันต้องการทำบางสิ่งกับลูกค้าฉันจะต้องเลือกแต่ละคน: Stream.of(objects).filter(c -> c instanceof Client) .map(c -> ((Client) c).getID()).forEach(System.out::println); มันดูน่าเกลียดเล็กน้อย เป็นไปได้ไหมที่จะส่งกระแสข้อมูลทั้งหมดไปเป็นประเภทอื่น ชอบที่Stream<Object>จะหล่อStream<Client>? โปรดเพิกเฉยต่อความจริงที่ว่าการทำสิ่งนี้อาจหมายถึงการออกแบบที่ไม่ดี เราทำสิ่งนี้ในวิชาวิทยาศาสตร์คอมพิวเตอร์ของฉันดังนั้นฉันจึงได้ตรวจสอบคุณสมบัติใหม่ของ java 8 และอยากรู้ว่าเป็นไปได้ไหม
160 java  java-8  java-stream 

13
ฉันจะรับ SQL ของ PreparedStatement ได้อย่างไร
ฉันมีวิธี Java ทั่วไปที่มีลายเซ็นวิธีการดังต่อไปนี้: private static ResultSet runSQLResultSet(String sql, Object... queryParams) มันเปิดการเชื่อมต่อสร้างการPreparedStatementใช้คำสั่ง sql และพารามิเตอร์ในqueryParamsอาร์เรย์ความยาวตัวแปรเรียกใช้แคชResultSet(ในCachedRowSetImpl), ปิดการเชื่อมต่อและส่งกลับชุดผลแคช ฉันมีข้อยกเว้นการจัดการในวิธีการที่บันทึกข้อผิดพลาด ฉันบันทึกคำสั่ง sql เป็นส่วนหนึ่งของบันทึกเนื่องจากมีประโยชน์มากสำหรับการแก้ไขข้อบกพร่อง ปัญหาของฉันคือการบันทึกตัวแปร String จะsqlบันทึกคำสั่งเทมเพลตด้วยหรือไม่แทนค่าจริง ฉันต้องการบันทึกคำสั่งจริงที่ดำเนินการ (หรือพยายามดำเนินการ) ดังนั้น ... มีวิธีที่จะได้รับคำสั่ง SQL ที่เกิดขึ้นจริงที่จะดำเนินการโดยใดPreparedStatement? ( โดยไม่ต้องสร้างมันด้วยตัวเองถ้าฉันไม่สามารถหาวิธีเข้าถึงPreparedStatement'sSQL ได้ฉันอาจจะสร้างมันด้วยตัวเองในcatches)

30
วิธีผสานสองอาร์เรย์ที่เรียงลำดับไว้ในอาร์เรย์ที่เรียงลำดับแล้ว [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ นี่เป็นคำถามของฉันในการสัมภาษณ์และนี่คือวิธีการแก้ปัญหาที่ฉันมีให้: public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { if (a[i] < b[j]) { answer[k] = …

7
แจ็คสันเอาชนะขีดล่างในกรณีอูฐ
ฉันดึงสตริง JSON จากอินเทอร์เน็ต เช่นเดียวกับ JSON ส่วนใหญ่ที่ฉันเคยเห็นมันมีปุ่มยาวที่คั่นด้วยเครื่องหมายขีดล่าง โดยพื้นฐานแล้วเป้าหมายของฉันคือการแยกแยะ JSON ให้เป็นจาวา - ออบเจ็กต์ แต่ฉันไม่ได้ใช้ขีดล่างในจาวา - โค้ด ตัวอย่างเช่นฉันอาจมีUserคลาสที่มีfirstNameฟิลด์เป็นตัวอูฐในเวลาเดียวกันฉันต้องบอกแจ็คสันให้จับคู่first_nameคีย์จาก JSON กับfirstNameฟิลด์คลาส เป็นไปได้ไหม? class User{ protected String firstName; protected String getFirstName(){return firstName;} }
160 java  jackson 

21
Gradle ไม่พบ tools.jar
ฉันใช้ javadoc doclets กับ gradle ดังนั้นฉันต้องใช้ package tools .jar ซึ่งอยู่ในโฟลเดอร์ lib จาก jdk (1.6.0_26 ในกรณีของฉัน) ประเด็นก็คือการไล่ระดับสีไม่ได้ดำเนินการโดยอัตโนมัติดังนั้นฉันจึงเพิ่มชุดเครื่องมือนั้นลงในโฟลเดอร์ libs ของฉันแล้วเพิ่มลงใน dependencies.gradle ตอนนี้ฉันต้องการที่จะนำมันโดยตรงจากบ้านของฉัน JDK เป็น dependencies.gradle ของฉัน มีวิธีทำเช่นนั้นหรือไม่? ฉันได้ลองสิ่งต่อไปนี้ในการพึ่งพาของฉันแล้ว compile files("${System.properties['java.home']}/lib/tools.jar") แต่ไม่พบในขณะที่รวบรวม
160 java  gradle  groovy  build 

15
ฟังก์ชั่นแฮชที่ดีสำหรับเงื่อนไข
ฉันพยายามคิดถึงฟังก์ชันแฮชที่ดีสำหรับสตริง และฉันคิดว่ามันเป็นความคิดที่ดีที่จะสรุปค่ายูนิโค้ดของอักขระห้าตัวแรกในสตริง (สมมติว่ามีห้าตัวหรือหยุดที่จุดสิ้นสุด) นั่นเป็นความคิดที่ดีหรือไม่หรือเป็นสิ่งที่ไม่ดี? ฉันกำลังทำสิ่งนี้ใน Java แต่ฉันไม่คิดว่าจะสร้างความแตกต่างได้มากนัก
160 java  hash  hashtable  hashcode 

3
คำเตือน: เมธอด assertEquals จากประเภท Assert เลิกใช้แล้ว
เนื่องจากวิธีการAssert.assertEqualsเลิกใช้เราควรใช้วิธีใดในตอนนี้ รหัสต่อไปนี้: String arg1 = "test"; String arg2 = "me"; Assert.assertEquals(arg1, arg2); ให้คำเตือนต่อไปนี้: เครื่องหมายหลายอันในบรรทัดนี้ เมธอด assertEquals (String, String) จากประเภท Assert นั้นเลิกใช้แล้ว ประเภท Assert เลิกใช้แล้ว
160 java  junit 

6
สร้างอาร์เรย์ของการจับคู่ regex
ใน Java ฉันพยายามคืนค่าการจับคู่ regex ทั้งหมดไปยังอาร์เรย์ แต่ดูเหมือนว่าคุณสามารถตรวจสอบได้ว่ารูปแบบนั้นตรงกับบางสิ่งหรือไม่ (บูลีน) ฉันจะใช้การจับคู่ regex ในรูปแบบอาร์เรย์ของสตริงทั้งหมดที่ตรงกับการแสดงออกของ regex ในสตริงที่กำหนดได้อย่างไร
160 java  regex 

11
วิธีเพิ่มวิธีกำหนดเองไปยัง Spring Data JPA
ฉันกำลังดู JPA ของ Spring Data พิจารณาตัวอย่างด้านล่างที่ฉันจะได้รับ crud และฟังก์ชั่นการค้นหาทั้งหมดทำงานตามค่าเริ่มต้นและถ้าฉันต้องการปรับแต่งการค้นหาแล้วก็สามารถทำได้อย่างง่ายดายในอินเทอร์เฟซของตัวเอง @Transactional(readOnly = true) public interface AccountRepository extends JpaRepository<Account, Long> { @Query("<JPQ statement here>") List<Account> findByCustomer(Customer customer); } ฉันต้องการที่จะรู้ว่าฉันจะเพิ่มวิธีการที่กำหนดเองที่สมบูรณ์แบบด้วยการใช้งานสำหรับ AccountRepository ข้างต้นได้อย่างไร เนื่องจากเป็นส่วนต่อประสานฉันไม่สามารถใช้วิธีการได้

11
ตัวดำเนินการ Java: จะได้รับการแจ้งเตือนอย่างไรโดยไม่ต้องปิดกั้นเมื่องานเสร็จสมบูรณ์?
สมมติว่าฉันมีคิวงานเต็มไปหมดซึ่งฉันต้องส่งไปที่บริการปฏิบัติการ ฉันต้องการให้พวกเขาประมวลผลทีละรายการ วิธีที่ง่ายที่สุดที่ฉันคิดได้คือ: รับงานจากคิว ส่งไปยังผู้ดำเนินการ โทร. รับอนาคตที่ส่งคืนและบล็อกจนกว่าผลลัพธ์จะพร้อมใช้งาน รับภารกิจอื่นจากคิว ... อย่างไรก็ตามฉันพยายามหลีกเลี่ยงการบล็อกโดยสิ้นเชิง หากฉันมี 10,000 คิวดังกล่าวซึ่งจำเป็นต้องมีการประมวลผลทีละงานฉันจะไม่มีพื้นที่สแต็กเนื่องจากส่วนใหญ่จะยึดไว้กับเธรดที่ถูกบล็อก สิ่งที่ฉันต้องการคือส่งงานและให้การติดต่อกลับซึ่งจะเรียกว่าเมื่องานเสร็จสมบูรณ์ ฉันจะใช้การแจ้งเตือนการโทรกลับเป็นธงในการส่งงานต่อไป (เห็นได้ชัดว่า functionaljava และ jetlang ใช้อัลกอริทึมที่ไม่ปิดกั้นดังกล่าว แต่ฉันไม่เข้าใจรหัสของพวกเขา) ฉันจะทำเช่นนั้นได้อย่างไรโดยใช้ java.util.concurrent ของ JDK ซึ่งย่อมาจากบริการเรียกใช้งานของฉัน (คิวที่ให้อาหารฉันงานเหล่านี้เองอาจบล็อก แต่นั่นเป็นปัญหาที่ต้องแก้ไขในภายหลัง)

17
มีอินเทอร์เฟซมากกว่าวิธีการที่ถูกต้องหรือไม่
ดังนั้นสมมติว่าฉันมีอินเทอร์เฟซนี้: public interface IBox { public void setSize(int size); public int getSize(); public int getArea(); //...and so on } และฉันมีคลาสที่ใช้งาน: public class Rectangle implements IBox { private int size; //Methods here } ถ้าฉันต้องการใช้อินเทอร์เฟซ IBox ฉันไม่สามารถสร้างอินสแตนซ์ของมันได้ตามจริง: public static void main(String args[]) { Ibox myBox=new Ibox(); } ขวา? ดังนั้นฉันต้องทำสิ่งนี้จริง: public static void …

8
วิธีการใช้ JNDI DataSource ของ Tomcat ใน Spring
ว่ากันว่าในบทความ Spring javadoc เกี่ยวกับDriverManagerDataSourceคลาสนั้นคลาสนี้ง่ายมากและแนะนำ เพื่อใช้ JNDI DataSource ที่จัดทำโดยคอนเทนเนอร์ a DataSourceสามารถถูกเปิดเผยเป็นDataSourcebean ใน Spring ApplicationContext ผ่านJndiObjectFactoryBean คำถามคือฉันจะทำสิ่งนี้ได้อย่างไร ตัวอย่างเช่นถ้าฉันต้องการให้DataSourcebean เข้าถึงฐานข้อมูล MySQL ที่กำหนดเองฉันจะต้องใช้อะไร ฉันควรเขียนอะไรในการกำหนดค่าบริบท ฯลฯ
159 java  spring  tomcat  datasource  jndi 

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