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

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

24
การรับ“ ไม่พบสัญลักษณ์” ในโปรเจ็กต์ Java ใน Intellij
GameManager.javaฉันโทรนี้ให้เช่นเดี่ยวคงที่จากชั้นเรียน HUD.getInstance().update(timeDelta); HUD.javaมีHUDระดับเช่นเดียวกับสองชั้นเรียนอื่น ๆ ที่เกี่ยวข้องและHUDTextElement HUDElementคลาสทั้งหมดอยู่ในรูทพา ธ../src/org/mypackageเดียวกัน อย่างไรก็ตามเมื่อรวบรวมโปรเจ็กต์ java นี้ใน IntelliJ ฉันไม่พบ Symbol HUDในบรรทัดที่ฉันHUD.getInstance()โทร รหัสเดียวกันนี้รวบรวมได้ดีใน eclipse มีความคิดอย่างไรว่าปัญหาคืออะไร

6
การสร้างวัตถุวันที่จาวาจากปีเดือนวัน
int day = Integer.parseInt(request.getParameter("day")); // 25 int month = Integer.parseInt(request.getParameter("month")); // 12 int year = Integer.parseInt(request.getParameter("year")); // 1988 System.out.println(year); Calendar c = Calendar.getInstance(); c.set(year, month, day, 0, 0); b.setDob(c.getTime()); System.out.println(b.getDob()); ผลลัพธ์คือ: 1988 พ. 25 ม.ค. 00:00:08 น. IST 1989 ฉันกำลังผ่านไป25 12 1988แต่ฉันเข้าใจ25 Jan 1989แล้ว ทำไม?
99 java  date  time  calendar 

5
การใช้ Optional.ifPresent () อย่างเหมาะสม
ฉันพยายามเข้าใจifPresent()วิธีการของOptionalAPI ใน Java 8 ฉันมีตรรกะง่ายๆ: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); แต่ส่งผลให้เกิดข้อผิดพลาดในการคอมไพล์: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) แน่นอนฉันสามารถทำสิ่งนี้ได้: if(user.isPresent()) { doSomethingWithUser(user.get()); } แต่นี่ก็เหมือนกับการnullตรวจสอบที่รกรุงรัง หากฉันเปลี่ยนรหัสเป็นสิ่งนี้: user.ifPresent(new Consumer<User>() { @Override public void accept(User user) { doSomethingWithUser(user.get()); } }); รหัสเริ่มสกปรกขึ้นซึ่งทำให้ฉันคิดว่าจะกลับไปใช้nullเช็คแบบเก่า ความคิดใด ๆ ?
99 java  lambda  java-8  optional 

7
Mockito - @Spy vs @Mock
Mockito - ฉันเข้าใจว่าสายลับเรียกวิธีการจริงบนวัตถุในขณะที่การล้อเลียนเรียกวิธีการบนวัตถุคู่ นอกจากนี้ควรหลีกเลี่ยงสายลับเว้นแต่จะมีกลิ่นรหัส อย่างไรก็ตามสายลับทำงานอย่างไรและฉันควรใช้มันจริงเมื่อใด ต่างจากล้อเลียนอย่างไร?


7
เหตุใดจึงคำนวณวันที่ตั้งแต่ 1 มกราคม 1970
มีเหตุผลใดบ้างที่ใช้วันที่ (1 มกราคม 1970) เป็นมาตรฐานเริ่มต้นสำหรับการปรับเวลา ฉันเคยเห็นมาตรฐานนี้ใน Java และใน Python สองภาษานี้ฉันรู้ มีภาษายอดนิยมอื่น ๆ ที่เป็นไปตามมาตรฐานเดียวกันหรือไม่? กรุณาอธิบาย



3
FixedThreadPool vs CachedThreadPool: ความชั่วร้ายน้อยกว่าสองอย่าง
ฉันมีโปรแกรมที่สร้างเธรด (~ 5-150) ซึ่งทำงานได้หลายอย่าง ในขั้นต้นฉันใช้ a FixedThreadPoolเพราะคำถามที่คล้ายกันนี้แนะนำว่าเหมาะสำหรับงานที่มีชีวิตอยู่นานกว่าและด้วยความรู้ที่ จำกัด มากเกี่ยวกับมัลติเธรดฉันจึงคิดว่าอายุการใช้งานเฉลี่ยของเธรด (หลายนาที) " มีอายุยืนยาว " อย่างไรก็ตามฉันเพิ่งเพิ่มความสามารถในการสร้างเธรดเพิ่มเติมและการทำเช่นนั้นทำให้ฉันอยู่เหนือขีด จำกัด เธรดที่ฉันตั้งไว้ ในกรณีนี้จะดีกว่าไหมหากเดาและเพิ่มจำนวนเธรดที่ฉันอนุญาตหรือเปลี่ยนเป็นไฟล์CachedThreadPoolเธรดเพื่อให้ฉันไม่มีเธรดที่สูญเปล่า ลองใช้ทั้งคู่ในเบื้องต้นดูเหมือนจะไม่มีความแตกต่างดังนั้นฉันจึงมีแนวโน้มที่จะไปด้วยวิธีCachedThreadPoolเดียวที่จะหลีกเลี่ยงของเสีย อย่างไรก็ตามช่วงชีวิตของเธรดหมายความว่าฉันควรเลือกFixedThreadPoolและจัดการกับเธรดที่ไม่ได้ใช้แทนหรือไม่? คำถามนี้ทำให้ดูเหมือนว่าเธรดพิเศษเหล่านั้นจะไม่สูญเปล่า แต่ฉันขอขอบคุณสำหรับคำชี้แจง

3
ทำไม Maven ถึงเตือนฉันเกี่ยวกับการเข้ารหัส
เป้าหมายของฉันคือการสร้างแม่แบบจากโครงการ เมื่อฉันเรียกใช้เป้าหมายที่ไม่เกี่ยวข้องกับ maven-archetype-plugin ฉันไม่เห็นคำเตือนใด ๆ : [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-archetype-base --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven-archetype-base --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] ในอีกด้านหนึ่งเมื่อฉันเรียกใช้ archetype: create-from-project ฉันจะได้รับสองสามข้อ: …

30
วิธีที่ซับซ้อนที่สุดในการสร้างสตริงที่คั่นด้วยเครื่องหมายจุลภาคจาก Collection / Array / List?
ในระหว่างที่ฉันทำงานกับฐานข้อมูลฉันสังเกตเห็นว่าฉันเขียนสตริงการสืบค้นและในสตริงนี้ฉันต้องใส่ข้อ จำกัด หลายประการในคำสั่ง where-clause จาก list / array / collection ควรมีลักษณะดังนี้: select * from customer where customer.id in (34, 26, ..., 2); คุณสามารถทำให้สิ่งนี้ง่ายขึ้นโดยลดสิ่งนี้ให้เหลือเพียงคำถามที่คุณมีคอลเล็กชันของสตริงและต้องการสร้างรายการที่คั่นด้วยจุลภาคของสตริงนี้ในสตริงเดียว แนวทางของฉันที่ฉันใช้จนถึงตอนนี้ก็เป็นเช่นนั้น: String result = ""; boolean first = true; for(String string : collectionOfStrings) { if(first) { result+=string; first=false; } else { result+=","+string; } } แต่นี่เป็นอย่างที่คุณเห็นน่าเกลียดมาก คุณไม่สามารถเห็นสิ่งที่เกิดขึ้นในรูปลักษณ์แรกโดยเฉพาะอย่างยิ่งเมื่อสตริงที่สร้างขึ้น (เช่นแบบสอบถาม …
98 java  sql  string 

14
ปลั๊กอิน IntelliJ Gradle: javaHome ที่ให้มาดูเหมือนจะไม่ถูกต้อง
คล้ายกับ: - Intellij 14 javaHome ที่ให้มาดูเหมือนจะไม่ถูกต้อง - Android Studio - javaHome ที่ให้มาไม่ใช่โฟลเดอร์ที่ถูกต้อง อย่างไรก็ตามฉันพยายามใช้JAVA_HOMEตัวแปรของฉันซึ่งตั้งค่าเป็นC:\Program Files\Java\jdk1.8.0_40 ฉันไม่เข้าใจว่าทำไม intellij จึงมองหา JDK ภายในไดเร็กทอรีการติดตั้ง ใน Intellij: Executing external task 'bootRun'... The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1\jre\bin\java.exe External task execution finished 'bootRun'. …

16
ไม่สามารถติดตั้ง Maven บน Windows:“ JAVA_HOME ถูกตั้งค่าเป็นไดเร็กทอรีที่ไม่ถูกต้อง”
ฉันทำตามแบบฝึกหัด Mavenสำหรับจดหมาย แต่ยังไม่สามารถติดตั้ง Maven บน Windows ได้ เมื่อฉันเรียกใช้สิ่งต่อไปนี้ในพรอมต์คำสั่ง: E:\Documents and Settings\zach>mvn --version ฉันเข้าใจ: 'mvn' is not recognized as an internal or external command, operable program or batch file. ฉันไปที่โฟลเดอร์ maven install และเรียกใช้mvn --versionและได้รับ: E:\java resources\apache-maven-2.2.0\bin>mvn --version ERROR: JAVA_HOME is set to an invalid directory. JAVA_HOME = "E:\Sun\SDK\jdk\bin" Please set the …
98 java  maven-2 

5
จะเข้าถึง java-class ใน default-package ได้อย่างไร?
ตอนนี้ฉันกำลังทำงานร่วมกับคนอื่น ๆ ในโครงการเกรลส์ ฉันต้องเขียน Java-class บ้าง แต่ฉันต้องการเข้าถึงวัตถุที่สามารถค้นหาได้ที่สร้างขึ้นด้วยความน่ารัก ดูเหมือนว่าวัตถุนี้จะต้องถูกวางไว้ใน default-package คำถามของฉันคือมีวิธีเข้าถึงอ็อบเจ็กต์นี้ใน default-package จาก Java-class ในชื่อ package หรือไม่?

1
เหตุใดวิธีการ removeRange () ของ AbstractList ของ Java จึงได้รับการป้องกัน
ใครมีความคิดบ้างไหมทำไมวิธี removeRange ในAbstractList (และในArrayList ) จึงเป็นprotected ? ดูเหมือนว่าการดำเนินการที่กำหนดไว้ค่อนข้างดีและมีประโยชน์ แต่ถึงกระนั้นหากต้องการใช้เราจะบังคับให้ใช้คลาสย่อยของการใช้งานรายการ มีเหตุผลบางอย่างซ่อนอยู่หรือไม่? ดูเหมือนจะอธิบายไม่ได้สำหรับฉัน

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