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

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

4
ตัวอย่าง argumentCaptor ของ Mockito
ทุกคนช่วยยกตัวอย่างให้ฉันดูวิธีใช้org.mockito.ArgumentCaptorคลาสได้อย่างไรและมันแตกต่างจากแมทช์ง่ายๆที่มาพร้อมกับ mockito ฉันอ่านเอกสาร mockito ที่ให้มา แต่เอกสารเหล่านั้นไม่ได้อธิบายอย่างชัดเจนไม่มีผู้ใดสามารถอธิบายได้อย่างชัดเจน

30
Hibernate - การอัพเดตแบบกลุ่มส่งคืนจำนวนแถวที่ไม่คาดคิดจากการอัพเดต: 0 จำนวนแถวจริง: 0 คาดว่า: 1
ฉันได้รับข้อผิดพลาดการจำศีล ฉันสามารถระบุฟังก์ชันที่ทำให้เกิดปัญหาได้ น่าเสียดายที่มีการเรียก DB หลายครั้งในฟังก์ชัน ฉันไม่พบบรรทัดที่ทำให้เกิดปัญหาเนื่องจากจำศีลลบเซสชันในตอนท้ายของธุรกรรม ข้อผิดพลาดการไฮเบอร์เนตที่กล่าวถึงด้านล่างดูเหมือนว่าข้อผิดพลาดทั่วไป ไม่ได้กล่าวถึงว่า Bean เป็นสาเหตุของปัญหา ใครที่คุ้นเคยกับข้อผิดพลาดจำศีลนี้? org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1 at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93) at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106) at …
141 java  hibernate 

12
ใช้ Java เพื่อค้นหาสตริงย่อยของสตริงที่ใหญ่กว่าโดยใช้ Regular Expression
ถ้าฉันมีสตริงแบบนี้: FOO[BAR] ฉันต้องการวิธีทั่วไปในการดึงสตริง "BAR" ออกจากสตริงเพื่อไม่ว่าสตริงใดที่อยู่ระหว่างวงเล็บเหลี่ยมก็จะสามารถรับสตริงได้ เช่น FOO[DOG] = DOG FOO[CAT] = CAT
141 java  regex  string 

6
เป็นไปได้ไหมที่จะเปลี่ยนชื่อ maven jar-with-dependencies?
ฉันกำลังใช้แอสเซมบลี jar-with-dependencies เพื่อสร้าง jar อย่างไรก็ตามชื่อโถของฉันยาวไปหน่อย เนื่องจาก jar นี้ถูกใช้โดยโปรแกรม RPG บน AS400 ฉันจึงต้องการย่อให้สั้นลงเพื่อให้ชีวิตง่ายขึ้นสำหรับนักพัฒนาเหล่านั้น แต่อื่น ๆ project-name-version-classifier-jar-with-dependencies.jarกว่าด้วยมือฉันไม่ได้พบวิธีที่จะเปลี่ยนชื่อไหจากปกติ ฉันต้องการบางสิ่งบางอย่างเช่นproject-name-version-classifier-full.jar มีอยู่แล้วที่จะทำสิ่งนี้โดยไม่ต้องคัดลอกตัวอธิบายแอสเซมบลี jar-with-dependencies และเรียกมันว่าเต็มหรือไม่? นอกจากนี้ฉันต้องการที่จะมี jar ต่อไปโดยที่ classpath ไม่ประกอบเก็บไว้ในที่เก็บ ฉันต้องการสิ่งประดิษฐ์สองชิ้น โถที่มีลักษณนามของฉันถือภูมิภาคที่สร้างไว้ โถที่มีการอ้างอิงทั้งหมดซึ่งรวมถึงภูมิภาคด้วย project-name-version-region-full.jarและproject-name-version-region.jarควรเก็บไว้ในที่เก็บ ในตัวอย่างแรกลักษณนามเป็นภูมิภาคเต็มในภูมิภาคที่ 2 ตอนหลังกำลังทำงาน

8
การสร้างเทียบกับการคอมไพล์ (Java)
คิดว่าคำตอบนี้ค่อนข้างชัดเจน แต่นี่เป็นไป: เมื่อฉันทำงานในโครงการขนาดเล็กสำหรับโรงเรียน (ใน java) ฉันรวบรวมมัน บนสุ่มของฉันเรากำลังใช้มดในการสร้างโครงการของเรา ฉันคิดว่าการคอมไพล์เป็นส่วนย่อยของการสร้าง ถูกต้องหรือไม่ อะไรคือความแตกต่างระหว่างการสร้างและการรวบรวม? ที่เกี่ยวข้อง: ความแตกต่างระหว่างการรวบรวมและการสร้างคืออะไร?
141 java  build  compilation 

8
การเพิ่มค่าที่ซ้ำกันให้กับ HashSet / HashMap จะแทนที่ค่าก่อนหน้าหรือไม่
โปรดพิจารณาโค้ดด้านล่าง: HashSet hs = new HashSet(); hs.add("hi"); -- (1) hs.add("hi"); -- (2) hs.size()จะให้ 1 as HashSetไม่อนุญาตให้ทำซ้ำดังนั้นจะจัดเก็บองค์ประกอบเดียวเท่านั้น ฉันต้องการทราบว่าถ้าเราเพิ่มองค์ประกอบที่ซ้ำกันแล้วมันแทนที่องค์ประกอบก่อนหน้าหรือไม่เพิ่มเข้าไป? นอกจากนี้จะเกิดอะไรขึ้นHashMapในกรณีเดียวกัน?

30
สาเหตุข้อผิดพลาด "ไม่สามารถเข้าถึง jarfile" คืออะไร
ฉันต้องการเรียกใช้โปรแกรมของฉันโดยไม่ใช้ IDE ฉันได้สร้างไฟล์ jar และไฟล์ jar ที่สามารถถอดออกได้ เมื่อฉันคลิกสองครั้งที่ไฟล์ exe jar ไม่มีอะไรเกิดขึ้นและเมื่อฉันพยายามใช้คำสั่งใน cmd มันให้สิ่งนี้กับฉัน: Error: Unable to access jarfile <path> ฉันใช้คำสั่ง: java -jar Calculator.jar ฉันสร้างขวดได้อย่างไร: คลิกขวาที่โฟลเดอร์โครงการ (เครื่องคิดเลข) เลือก คลิกที่ Java Folder และเลือก "Exectuable Jar File" จากนั้นเลือกถัดไป เรียกใช้การกำหนดค่า: หลัก - เครื่องคิดเลข สร้างปลายทางการส่งออก กด "เสร็จสิ้น" และทำกำไร! ดีไม่จริง
141 java  jar  executable-jar 

6
ในสตรีม Java มองเฉพาะสำหรับการดีบักเท่านั้น?
ฉันกำลังอ่านข้อมูลเกี่ยวกับสตรีม Java และค้นพบสิ่งใหม่ ๆ ในขณะที่ดำเนินการไป หนึ่งในสิ่งใหม่ที่ฉันพบคือpeek()ฟังก์ชัน เกือบทุกอย่างที่ฉันอ่านใน peek บอกว่าควรใช้เพื่อดีบักสตรีมของคุณ จะเกิดอะไรขึ้นถ้าฉันมีสตรีมที่แต่ละบัญชีมีชื่อผู้ใช้ฟิลด์รหัสผ่านและวิธีการเข้าสู่ระบบ () และ loggedIn () ฉันยังมี Consumer<Account> login = account -> account.login(); และ Predicate<Account> loggedIn = account -> account.loggedIn(); ทำไมต้องแย่ขนาดนี้ List<Account> accounts; //assume it's been setup List<Account> loggedInAccount = accounts.stream() .peek(login) .filter(loggedIn) .collect(Collectors.toList()); เท่าที่ฉันสามารถบอกได้ว่าสิ่งนี้ทำในสิ่งที่ตั้งใจจะทำ มัน; รับรายการบัญชี พยายามเข้าสู่ระบบแต่ละบัญชี กรองบัญชีใด ๆ ที่ไม่ได้เข้าสู่ระบบ รวบรวมบัญชีที่เข้าสู่ระบบไว้ในรายการใหม่ …
141 java  java-8  java-stream  peek 

3
Java: เครื่องหมายเปอร์เซ็นต์ตามตัวอักษรในคำสั่ง printf
ฉันกำลังพยายามเพิ่มเครื่องหมายเปอร์เซ็นต์จริงในคำสั่ง printf ใน Java และฉันได้รับข้อผิดพลาด: lab1.java:166: illegal escape character System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence); ^ lab1.java:166: illegal escape character System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence); ^ 2 errors ฉันคิดไม่ออกว่าจะใส่เครื่องหมายเปอร์เซ็นต์จริงลงใน printf ของฉันได้อย่างไร? ฉันคิดว่าการใช้ \% เพื่อหลีกเลี่ยงมันจะได้ผล แต่ก็ไม่เป็นเช่นนั้น ความคิดใด ๆ ?
141 java  printf  escaping 

11
วิธีเปลี่ยนโปรเจ็กต์ดีฟอลต์ Eclipse เป็นโปรเจ็กต์ Java
ฉันเช็กเอาต์โปรเจ็กต์จาก SVN และไม่ได้ระบุชนิดโปรเจ็กต์ดังนั้นจึงเช็กเอาต์เป็นโปรเจ็กต์ "ดีฟอลต์" วิธีที่ง่ายที่สุดในการแปลงให้เป็นโครงการ "Java" คืออะไร ฉันใช้ Eclipse เวอร์ชัน 3.3.2
140 java  eclipse 

3
การเริ่มต้น Guava ImmutableMap
Guava เสนอทางลัดที่ดีสำหรับการเริ่มต้นแผนที่ อย่างไรก็ตามฉันได้รับข้อผิดพลาดคอมไพเลอร์ต่อไปนี้ (Eclipse Indigo) เมื่อแผนที่ของฉันเริ่มต้นกับเก้ารายการ วิธีการof(K, V, K, V, K, V, K, V, K, V)ในประเภทImmutableMapไม่สามารถใช้ได้กับข้อโต้แย้ง (String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) ImmutableMap<String,String> myMap = ImmutableMap.of( "key1", "value1", "key2", "value2", "key3", "value3", "key4", "value4", "key5", "value5", "key6", "value6", …
140 java  dictionary  guava 

3
ทำไม String.split จึงต้องใช้ตัวคั่นไพพ์เพื่อหนี
ฉันกำลังพยายามแยกไฟล์ที่มีแต่ละบรรทัดด้วยค่าที่คั่นด้วยไพพ์ มันไม่ทำงานอย่างถูกต้องเมื่อฉันไม่ได้หนีตัวคั่นไปป์ด้วยวิธีแยก แต่ก็ทำงานได้อย่างถูกต้องหลังจากที่ฉันหนีไปป์ตามด้านล่าง private ArrayList<String> parseLine(String line) { ArrayList<String> list = new ArrayList<String>(); String[] list_str = line.split("\\|"); // note the escape "\\" here System.out.println(list_str.length); System.out.println(line); for(String s:list_str) { list.add(s); System.out.print(s+ "|"); } return list; } ใครช่วยอธิบายหน่อยได้split()ไหมว่าทำไมต้องมีการหลบหนีจากตัวละครในท่อ?
140 java  regex  string 

8
การตรวจสอบเธรดปลอดภัยหรือไม่
ฉันรู้ว่าการดำเนินการผสมเช่นi++ไม่ปลอดภัยตามที่พวกเขาเกี่ยวข้องกับการดำเนินงานหลาย ๆ แต่การตรวจสอบการอ้างอิงด้วยตัวเองเป็นการดำเนินการที่ปลอดภัยของเธรดหรือไม่ a != a //is this thread-safe ฉันพยายามเขียนโปรแกรมนี้และใช้หลายเธรด แต่ก็ไม่ได้ล้มเหลว ฉันเดาว่าฉันไม่สามารถจำลองการแข่งขันบนเครื่องของฉันได้ แก้ไข: public class TestThreadSafety { private Object a = new Object(); public static void main(String[] args) { final TestThreadSafety instance = new TestThreadSafety(); Thread testingReferenceThread = new Thread(new Runnable() { @Override public void run() { long countOfIterations = …

6
Java: มีฟังก์ชั่นแผนที่หรือไม่?
ฉันต้องการ ฟังก์ชั่นแผนที่ มีบางอย่างเช่นนี้ใน Java อยู่แล้ว? (สำหรับผู้ที่สงสัยว่า: แน่นอนฉันรู้วิธีการใช้ฟังก์ชั่นเล็กน้อยนี้เอง ... )
140 java  map-function 

10
java.lang.UnsupportedClassVersionError: หมายเลขรุ่นไม่ถูกต้องในไฟล์. class
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันรวมไลบรารี opensource ที่ฉันต้องรวบรวมจากแหล่งที่มา ตอนนี้คำแนะนำทั้งหมดบนเว็บระบุว่าโค้ดถูกรวบรวมในเวอร์ชันหนึ่งและดำเนินการในเวอร์ชันอื่น (ใหม่บนเก่า) อย่างไรก็ตามฉันมี JRE หนึ่งเวอร์ชันในระบบของฉัน ถ้าฉันใช้คำสั่ง: $ javac -version javac 1.5.0_18 $ java -version java version "1.5.0_18" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02) Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode) และตรวจสอบใน Eclipse สำหรับคุณสมบัติของห้องสมุด java ที่ฉันได้รับ 1.5.0_18 ดังนั้นฉันต้องสรุปสิ่งอื่น ๆ ภายในตัวเองในชั้นเรียนมีการโยนข้อยกเว้น? เป็นไปได้ไหม
140 java  version 

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