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

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

9
วิธีการนำเข้าคลาสจากแพ็คเกจเริ่มต้น
Possible Duplicate: จะเข้าถึง java-class ใน default-package ได้อย่างไร? ฉันใช้ Eclipse 3.5 และฉันได้สร้างโปรเจ็กต์ที่มีโครงสร้างแพ็กเกจพร้อมกับแพ็คเกจเริ่มต้น ฉันมีคลาสหนึ่งในแพ็คเกจเริ่มต้น - Calculations.javaและฉันต้องการใช้คลาสนั้นในแพ็คเกจใดก็ได้ (เช่นในcom.company.calc) เมื่อฉันพยายามใช้คลาสซึ่งอยู่ในแพ็คเกจเริ่มต้นมันทำให้ฉันมีข้อผิดพลาดของคอมไพเลอร์ ไม่สามารถจดจำคลาสในแพ็กเกจเริ่มต้นได้ ปัญหาอยู่ที่ไหน Calculations.java - ซอร์สโค้ด public class Calculations { native public int Calculate(int contextId); native public double GetProgress(int contextId); static { System.loadLibrary("Calc"); } } ฉันไม่สามารถรวมชั้นเรียนไว้ในแพ็คเกจอื่นได้ คลาสนี้มีวิธีดั้งเดิมบางอย่างที่นำมาใช้ในเดลฟี ถ้าฉันใส่คลาสนั้นในโฟลเดอร์ใด ๆ ฉันจะต้องทำการเปลี่ยนแปลงกับ DLL ที่ฉันต้องการหลีกเลี่ยง (จริงๆ - ฉันทำไม่ได้) …

8
วิธีการโอเวอร์โหลดถูกเลือกอย่างไรเมื่อพารามิเตอร์เป็นค่า null ตามตัวอักษร
ฉันเจอคำถามนี้ในแบบทดสอบ public class MoneyCalc { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[]) { MoneyCalc question = new MoneyCalc(); question.method(null); } } ผลลัพธ์ของโปรแกรมนี้คือ "String Version" แต่ฉันไม่เข้าใจว่าทำไมการส่ง null ไปยังเมธอดที่โอเวอร์โหลดจึงเลือกเวอร์ชันสตริง เป็น null ตัวแปร String ชี้ไปที่อะไร? อย่างไรก็ตามเมื่อเปลี่ยนรหัสเป็น public class MoneyCalc …
98 java  overloading 

8
คุณสมบัติ Android N Java 8 (คอมไพเลอร์ Jack) และการทำงานร่วมกันของ Kotlin
ปรับปรุง 3. Kotlin IS NOW สนับสนุนอย่างเป็นทางการสำหรับการพัฒนา โดย GOOGLE อ๊าาาาาาาาา! การปรับปรุงที่ 2 : ดูเหมือนว่าJetBrains มีความมุ่งมั่นมากที่จะสนับสนุน Kotlin สำหรับ Android ในระยะยาว ฉันเป็นผู้ใช้ kotlin ที่มีความสุข :) อัปเดต : Hadi Hariri จาก JetBrains กล่าวว่าพวกเขากำลังจะเปิดเผยข้อมูลบางอย่างเกี่ยวกับหัวข้อนี้ ฉันจะอัปเดตโพสต์นี้เมื่อพวกเขาทำเสร็จแล้ว === สิ่งที่ถูกยกเลิกต่อไป === Google เปิดตัวเพียงภาพตัวอย่างที่จะเกิดขึ้นของ Android N ที่มีคุณสมบัติที่น่าสนใจบางอย่างที่เป็นอยู่บางส่วนที่โดดเด่นที่สุดJava 8 สนับสนุนภาษา สิ่งนี้เป็นไปได้เนื่องจากJack toolchainใหม่ที่Google กำลังทำงานอยู่ toolchain ปัจจุบันใช้javacหรือkotlinc : javac ( .java-> .class) …

4
ไม่มีตัวสร้างว่างเมื่อสร้างบริการ
ฉันกำลังดิ้นรนกับข้อผิดพลาดนี้: 08-08 11: 42: 53.179: E / AndroidRuntime (20288): เกิดจาก: java.lang.InstantiationException: ไม่สามารถสร้างอินสแตนซ์คลาส com.example.localnotificationtest.ReminderService; ไม่มีตัวสร้างที่ว่างเปล่า ฉันไม่เข้าใจว่าเหตุใดจึงเกิดข้อผิดพลาดนี้ ฉันพยายามปรากฏการแจ้งเตือนในช่วงเวลาที่กำหนดและหลังจากค้นหาเวลาหนึ่งฉันพบคำถาม stackoverflow เก่านี้ ฉันลองทุกอย่างแล้ว แต่รหัสของฉันเกิดข้อผิดพลาด โปรดช่วยฉันแก้ปัญหานี้ นี่คือรหัส MainActivity ของฉัน: public class MainActivity extends Activity { int mHour, mMinute; ReminderService reminderService; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); reminderService = new ReminderService("ReminderService"); TimePickerDialog dialog = …
98 java  android 

9
การย้ายตำแหน่งทศนิยมซ้ำเป็นสองเท่า
ดังนั้นฉันจึงตั้งค่าสองเท่าให้เท่ากับ 1234 ฉันต้องการย้ายตำแหน่งทศนิยมไปที่เพื่อให้เป็น 12.34 เพื่อทำสิ่งนี้ผมคูณ. 1 ถึง 1234 สองคูณแบบนี้ double x = 1234; for(int i=1;i<=2;i++) { x = x*.1; } System.out.println(x); สิ่งนี้จะพิมพ์ผลลัพธ์ "12.340000000000002" มีวิธีโดยไม่ต้องจัดรูปแบบให้เป็นทศนิยมสองตำแหน่งโดยไม่ต้องจัดรูปแบบเป็นทศนิยมสองตำแหน่งอย่างถูกต้องหรือไม่?
98 java  double  decimal 

2
สปริงพร็อกซีถั่ว
ใครช่วยอธิบายการใช้งาน@ScopedProxyคำอธิบายประกอบฤดูใบไม้ผลิได้ไหม ฉันคิดว่ามันเกี่ยวข้องกับเซสชันสโคปถั่ว แต่ฉันไม่ค่อยแน่ใจ ในการใช้งานขอบเขตของฉันฉันได้ใช้ Session Scoped Beans โดยไม่มี@ScopedProxyคำอธิบายประกอบ (หรือไม่มีพร็อกซีที่กำหนดขอบเขต aop) ดังนั้นฉันจึงแน่ใจว่าจะใช้อย่างไรอย่างถูกต้อง
98 java  spring  proxy 

7
Java มี HashMap พร้อมการค้นหาแบบย้อนกลับหรือไม่
ฉันมีข้อมูลที่จัดระเบียบในรูปแบบ "คีย์ - คีย์" แทนที่จะเป็น "คีย์ - ค่า" มันเหมือน HashMap แต่ฉันจะต้องค้นหา O (1) ทั้งสองทิศทาง มีชื่อโครงสร้างข้อมูลประเภทนี้หรือไม่และสิ่งนี้รวมอยู่ในไลบรารีมาตรฐานของ Java หรือไม่ (หรืออาจจะเป็น Apache Commons?) ฉันสามารถเขียนคลาสของตัวเองที่โดยทั่วไปใช้แผนที่มิเรอร์สองแผนที่ แต่ฉันไม่อยากสร้างวงล้อใหม่ (ถ้ามีอยู่แล้ว แต่ฉันไม่ได้ค้นหาคำที่ถูกต้อง)

3
Java JUnit: วิธี X ไม่ชัดเจนสำหรับประเภท Y
ฉันมีการทดสอบบางอย่างที่ทำงานได้ดี จากนั้นฉันย้ายไปยังแพ็คเกจอื่นและตอนนี้ได้รับข้อผิดพลาด นี่คือรหัส: import static org.junit.Assert.*; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.jgrapht.Graphs; import org.jgrapht.WeightedGraph; import org.jgrapht.graph.DefaultWeightedEdge; import org.jgrapht.graph.SimpleWeightedGraph; import org.junit.*; @Test public void testEccentricity() { WeightedGraph<String, DefaultWeightedEdge> g = generateSimpleCaseGraph(); Map<String, Double> eccen = JGraphtUtilities.eccentricities(g); assertEquals(70, eccen.get("alpha")); assertEquals(80, eccen.get("l")); assertEquals(130, eccen.get("l-0")); assertEquals(100, eccen.get("l-1")); assertEquals(90, eccen.get("r")); assertEquals(120, eccen.get("r-0")); assertEquals(130, …

6
ควรโยน IllegalArgumentException เมื่อใด
ฉันกังวลว่านี่เป็นข้อยกเว้นรันไทม์ดังนั้นจึงควรใช้เท่าที่จำเป็น กรณีการใช้งานมาตรฐาน: void setPercentage(int pct) { if( pct < 0 || pct > 100) { throw new IllegalArgumentException("bad percent"); } } แต่ดูเหมือนว่าจะบังคับให้ออกแบบต่อไปนี้: public void computeScore() throws MyPackageException { try { setPercentage(userInputPercent); } catch(IllegalArgumentException exc){ throw new MyPackageException(exc); } } เพื่อให้กลับมาเป็นข้อยกเว้นที่ถูกตรวจสอบ เอาล่ะ แต่มาดูกันดีกว่า หากคุณป้อนข้อมูลไม่ถูกต้องคุณจะได้รับข้อผิดพลาดรันไทม์ ประการแรกนั่นเป็นนโยบายที่ค่อนข้างยากในการนำไปใช้อย่างสม่ำเสมอเพราะคุณอาจต้องทำการแปลงตรงกันข้าม: public void scanEmail(String emailStr, InputStream mime) …

3
จุดประสงค์ของคลาส ObjectFactory ของ JAXB 2 คืออะไร?
ฉันเพิ่งเริ่มใช้ JAXB และฉันใช้ xjc ของ JAXB 2.1.3 เพื่อสร้างชุดของคลาสจาก XML Schema ของฉัน นอกเหนือจากการสร้างคลาสสำหรับแต่ละองค์ประกอบในสคีมาของฉันแล้วยังสร้างคลาส ObjectFactory ดูเหมือนจะไม่มีอะไรหยุดฉันจากการสร้างอินสแตนซ์องค์ประกอบโดยตรงเช่น MyElement element = new MyElement(); ในขณะที่แบบฝึกหัดดูเหมือนจะชอบมากกว่า MyElement element = new ObjectFactory().createMyElement(); ถ้าฉันดู ObjectFactory.java ฉันจะเห็น: public MyElement createMyElement() { return new MyElement(); } แล้วตกลงคืออะไร? ทำไมฉันถึงต้องกังวลกับการรักษาคลาส ObjectFactory ไว้ด้วย? ฉันคิดว่ามันจะถูกเขียนทับด้วยถ้าฉันจะคอมไพล์ใหม่จากสคีมาที่เปลี่ยนแปลง
98 java  jaxb 

22
Eclipse - ดีบักเกอร์ไม่หยุดที่เบรกพอยต์
ฉันกำลังพยายามถ่ายภาพ JUnit ไม่สำเร็จ ในซอร์สโค้ดฉันได้กำหนดจุดพักไว้สองตำแหน่ง: 1) ในบรรทัดที่สมาชิกคงที่ถูกเริ่มต้น 2) บรรทัดแรกของกรณีทดสอบหนึ่ง ดีบักเกอร์หยุดในบรรทัดการเริ่มต้นฟิลด์แบบคงที่ แต่ไม่ได้หยุดในกรณีทดสอบ ไม่ว่าฉันจะตั้งค่าจุดพักไว้ที่ใดในกรณีทดสอบดีบักเกอร์ก็ไม่หยุดเพียงแค่นั้น ฉันทราบแน่นอนว่ามีการดำเนินการกรณีทดสอบเนื่องจากฉันเห็นข้อความบันทึกที่ฉันเพิ่มไว้ปรากฏในบันทึก ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ฉันใช้ Eclipse Galileo และ JUnit4 launcher

9
วิธีสร้าง. jar จากโปรเจ็กต์ Android Studio
ฉันใช้ AndroidStudio และมีโปรเจ็กต์นี้ดังที่แสดง: สิ่งที่อยู่ในวงกลมสีน้ำเงินคือ myLib myLib ยังต้องใช้ lib ภายนอกที่อยู่ในวงกลมสีแดงและแพ็คเกจ apache (วงกลมสีเขียว) ดังนั้นฉันต้องการทำให้สิ่งนี้กลายเป็น. jar เดียวเพื่อที่ฉันจะได้ใช้ในโปรเจ็กต์อื่น คำแนะนำทีละขั้นตอนจะได้รับการชื่นชมมากฉันเป็นมือใหม่ในโลกของนักพัฒนาซอฟต์แวร์ ขอบคุณ!

9
การเขียนโปรแกรมเชิงฟังก์ชัน - ความไม่เปลี่ยนรูปมีราคาแพงหรือไม่? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา คำถามเป็นสองส่วน ประการแรกคือแนวความคิด ต่อไปจะดูคำถามเดียวกันอย่างเป็นรูปธรรมมากขึ้นใน Scala การใช้เฉพาะโครงสร้างข้อมูลที่ไม่เปลี่ยนรูปในภาษาโปรแกรมทำให้การใช้อัลกอริทึม / ลอจิกบางอย่างมีราคาแพงกว่าในทางปฏิบัติหรือไม่? สิ่งนี้นำมาสู่ความจริงที่ว่าการไม่เปลี่ยนรูปเป็นหลักการสำคัญของภาษาที่ใช้งานได้อย่างหมดจด มีปัจจัยอื่น ๆ ที่ส่งผลกระทบนี้หรือไม่? ลองมาเป็นตัวอย่างที่เป็นรูปธรรมมากขึ้น โดยทั่วไปแล้วQuicksortได้รับการสอนและนำไปใช้โดยใช้การดำเนินการที่ไม่แน่นอนบนโครงสร้างข้อมูลในหน่วยความจำ เราจะนำสิ่งดังกล่าวไปใช้อย่างไรในรูปแบบการทำงานที่บริสุทธิ์โดยมีค่าใช้จ่ายในการคำนวณและพื้นที่จัดเก็บที่เทียบเคียงกับเวอร์ชันที่เปลี่ยนแปลง โดยเฉพาะใน Scala ฉันได้รวมเกณฑ์มาตรฐานคร่าวๆไว้ด้านล่าง รายละเอียดเพิ่มเติม: ฉันมาจากพื้นฐานการเขียนโปรแกรมที่จำเป็น (C ++, Java) ฉันได้สำรวจการเขียนโปรแกรมเชิงฟังก์ชันโดยเฉพาะ Scala หลักการหลักบางประการของการเขียนโปรแกรมเชิงฟังก์ชัน: หน้าที่เป็นพลเมืองชั้นหนึ่ง ฟังก์ชั่นไม่ได้มีผลข้างเคียงและด้วยเหตุนี้วัตถุโครงสร้างข้อมูล / มีไม่เปลี่ยนรูป แม้ว่าJVMสมัยใหม่จะมีประสิทธิภาพอย่างมากในการสร้างวัตถุและการรวบรวมขยะมีราคาไม่แพงมากสำหรับวัตถุที่มีอายุสั้น แต่ก็ยังดีกว่าที่จะลดการสร้างวัตถุใช่ไหม อย่างน้อยที่สุดในแอปพลิเคชันเธรดเดียวที่การทำงานพร้อมกันและการล็อกไม่ใช่ปัญหา เนื่องจาก Scala เป็นกระบวนทัศน์แบบไฮบริดเราจึงสามารถเลือกที่จะเขียนโค้ดที่จำเป็นกับวัตถุที่เปลี่ยนแปลงได้หากจำเป็น แต่ในฐานะคนที่ใช้เวลาหลายปีในการพยายามใช้วัตถุซ้ำและลดการจัดสรรให้น้อยที่สุด ฉันต้องการความเข้าใจที่ดีเกี่ยวกับโรงเรียนแห่งความคิดที่ไม่ยอมให้เป็นเช่นนั้น ในกรณีที่เฉพาะเจาะจงฉันรู้สึกประหลาดใจเล็กน้อยกับข้อมูลโค้ดในบทช่วยสอน 6นี้ มี Quicksort เวอร์ชัน …

11
การลบประเภทของ Java มีประโยชน์อย่างไร?
วันนี้ฉันอ่านทวีตที่กล่าวว่า: เป็นเรื่องตลกเมื่อผู้ใช้ Java บ่นเกี่ยวกับการลบประเภทซึ่งเป็นสิ่งเดียวที่ Java มีสิทธิ์ในขณะที่เพิกเฉยต่อสิ่งที่ผิดพลาดทั้งหมด ดังนั้นคำถามของฉันคือ: มีประโยชน์จากการลบประเภทของ Java หรือไม่? รูปแบบทางเทคนิคหรือการเขียนโปรแกรมมีประโยชน์อะไรบ้าง (อาจ) นำเสนอนอกเหนือจากการกำหนดลักษณะการใช้งาน JVM สำหรับความเข้ากันได้แบบย้อนกลับและประสิทธิภาพรันไทม์

6
เหตุใด Eclipse Java Package Explorer จึงแสดงเครื่องหมายคำถามในบางคลาส
ใน Eclipse Helios Java Package Explorer ฉันเห็นไอคอนคลาส Java แสดงเครื่องหมายคำถามเล็ก ๆ ทางด้านขวาของ 'J' บางอย่างเช่น [J?] ไอคอนนี้แสดงในแต่ละชั้นเรียนภายในแพ็คเกจเดียวในโครงการของฉัน แต่ฉันไม่พบคำอธิบายสำหรับสิ่งนี้ในเอกสารประกอบ เมื่อถึงจุดหนึ่งฉันคาดว่าพวกมันจะหายไปและถูกแทนที่ด้วยสี่เหลี่ยมสีส้มเล็ก ๆ (ซึ่งฉันก็ไม่แน่ใจในความหมายของพวกเขาเช่นกัน แต่กังวลน้อยกว่าเกี่ยวกับความหมายแฝงของพวกเขา) ฉันคิดว่าคำถามนี้ชี้ไปที่คำถามที่ใหญ่กว่าไอคอนเหล่านี้ถูกกำหนดไว้ด้วยกันที่ไหนสักแห่ง?
98 java  eclipse  helios 

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