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

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



15
ทำไมฉันไม่สามารถใช้คำสั่ง switch บน String ได้
ฟังก์ชั่นนี้จะถูกเพิ่มเข้าไปในเวอร์ชั่น Java ภายหลังหรือไม่? บางคนสามารถอธิบายได้ว่าทำไมฉันไม่สามารถทำสิ่งนี้ในขณะที่switchคำสั่งทางเทคนิคของ Java ทำงานได้หรือไม่

22
ฉันจะรับการติดตามสแต็กปัจจุบันใน Java ได้อย่างไร
ฉันจะได้รับในปัจจุบันวิธีการกองติดตามใน Java เช่นวิธีการใน .NET ที่คุณสามารถทำได้Environment.StackTrace? ฉันพบThread.dumpStack()แต่มันไม่ใช่สิ่งที่ฉันต้องการ - ฉันต้องการรับ stack trace กลับไม่ใช่พิมพ์ออกมา
1001 stack-trace  java 

22
ฉันควรใช้คำอธิบายประกอบ @NotNull Java ใด
ฉันต้องการทำให้โค้ดของฉันอ่านง่ายขึ้นรวมถึงใช้เครื่องมือเช่นการตรวจสอบรหัส IDE และ / หรือการวิเคราะห์รหัสแบบคงที่ (FindBugs และ Sonar) เพื่อหลีกเลี่ยง NullPointerExceptions เครื่องมือจำนวนมากดูไม่เข้ากันกับ@NotNull/ @NonNull/ / @Nonnullหมายเหตุประกอบของแต่ละคนและการแสดงรายการทั้งหมดในรหัสของฉันจะอ่านได้แย่มาก คำแนะนำใดที่ 'ดีที่สุด'? นี่คือรายการคำอธิบายประกอบที่เทียบเท่าที่ฉันพบ: javax.validation.constraints.NotNull สร้างขึ้นสำหรับการตรวจสอบความถูกต้องรันไทม์ไม่ใช่การวิเคราะห์แบบคงที่ เอกสาร edu.umd.cs.findbugs.annotations.NonNull ใช้โดยFindBugsวิเคราะห์แบบคงที่และดังนั้นจึง Sonar (ตอนนี้Sonarqube ) เอกสาร javax.annotation.Nonnull สิ่งนี้อาจใช้ได้กับ Findbugs ด้วยเช่นกัน แต่JSR-305ไม่ได้ใช้งาน (ดูเพิ่มเติม: อะไรคือสถานะของ JSR 305? ) แหล่งที่มา org.jetbrains.annotations.NotNull ใช้โดย IntelliJ IDEA IDE สำหรับการวิเคราะห์แบบคงที่ เอกสาร lombok.NonNull ใช้ในการควบคุมการสร้างรหัสในโครงการลอมบอก คำอธิบายประกอบตัวยึดเนื่องจากไม่มีมาตรฐาน แหล่งที่มา , เอกสาร …

16
'ทำข้อมูลให้ตรงกัน' หมายความว่าอย่างไร
ฉันมีคำถามบางอย่างเกี่ยวกับการใช้งานและความสำคัญของsynchronizedคำหลัก คำสำคัญของsynchronizedคำสำคัญคืออะไร วิธีการควรเป็นเมื่อไหร่synchronized? มันหมายถึงอะไรโดยทางโปรแกรมและเหตุผล?

25
วิธีการติดตั้ง Java 8 บน Mac
ฉันต้องการเขียนโปรแกรมด้วย JavaFX ล่าสุดซึ่งต้องการ Java 8 ฉันใช้ IntelliJ 13 CE และ Mac OS X 9 Mavericks ฉันใช้โปรแกรมติดตั้ง Java 8 ของ Oracle และดูเหมือนว่าไฟล์จะจบลง /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk แต่รุ่นก่อนหน้าอยู่ที่ /System/Library/Java/JavaFrameworks/jdk1.6.... ไม่แน่ใจว่าทำไมตัวติดตั้งล่าสุดวางไว้/Libraryแทนที่/System/Library(หรือความแตกต่างคืออะไร) แต่/usr/libexec/java_homeไม่พบ 1.8 ดังนั้นโพสต์ทั้งหมดที่ฉันพบในการตั้งค่าจาวาเวอร์ชันปัจจุบันของคุณไม่ทำงาน ฉันได้ลองเพิ่มลิงก์สัญลักษณ์เพื่อให้ดูเหมือน 1.8 อยู่ใน/System/Library...เส้นทาง แต่ไม่ช่วย /usr/libexec/java_home -Vยังคงแสดงรายการ Java 1.6 เก่าเท่านั้น แดกดันแผงควบคุม "Java" ภายใต้ System Preferences จะแสดงเฉพาะ Java 1.8! เหตุใดโปรแกรมติดตั้งของ Oracle จึงไม่ติดตั้งในตำแหน่งที่เหมาะสม และฉันจะแก้ไขปัญหานี้ได้อย่างไร

8
ความแตกต่างระหว่างชื่อมาตรฐานชื่อสามัญและชื่อคลาสใน Java Class คืออะไร
ใน Java ความแตกต่างระหว่างสิ่งเหล่านี้คืออะไร: Object o1 = .... o1.getClass().getSimpleName(); o1.getClass().getName(); o1.getClass().getCanonicalName(); ฉันได้ตรวจสอบ Javadoc หลายครั้งและสิ่งนี้ก็ไม่เคยอธิบายได้ดีนัก ฉันทำการทดสอบด้วยและนั่นก็ไม่ได้สะท้อนความหมายที่แท้จริงที่อยู่เบื้องหลังวิธีการที่เรียกว่าวิธีการเหล่านี้
973 java 

30
ไม่สามารถเรียกใช้ไฟล์ jar-:“ ไม่มีแอตทริบิวต์รายการหลัก”
ฉันติดตั้งแอปพลิเคชั่นแล้วเมื่อฉันพยายามเรียกใช้ (มันเป็นขวดปฏิบัติการ) ไม่มีอะไรเกิดขึ้น เมื่อฉันเรียกใช้จาก commandline ด้วย: java -jar "app.jar" ฉันได้รับข้อความต่อไปนี้: ไม่มีแอตทริบิวต์รายการหลักใน "app.jar" โดยปกติถ้าฉันสร้างโปรแกรมด้วยตัวเองฉันจะเพิ่มคุณสมบัติคลาสหลักลงในไฟล์ Manifest แต่ในกรณีนี้เนื่องจากไฟล์มาจากแอปพลิเคชันฉันจึงไม่สามารถทำได้ ฉันยังลองแยก jar เพื่อดูว่าฉันสามารถหาคลาสหลักได้หรือไม่ แต่มีหลายคลาสและไม่มีชื่อใดในนั้นที่มีคำว่า "main" ต้องมีวิธีในการแก้ไขปัญหานี้เนื่องจากโปรแกรมทำงานได้ดีบนระบบอื่น
970 java  jar  manifest  main 

30
ไม่สามารถเริ่ม Eclipse - Java เริ่มทำงานแล้ว แต่ส่งคืนโค้ดออก = 13
ฉันพยายามรับการพัฒนา Android ครั้งแรกโดยใช้ Eclipse ฉันพบปัญหานี้เมื่อพยายามเรียกใช้ Eclipse โดยมีการติดตั้งเวอร์ชัน 4.2 เพียงไม่กี่นาทีที่ผ่านมา หลังจากพยายามเริ่มต้นครั้งแรกEclipseโดยไม่มีพารามิเตอร์ใด ๆ เพื่อระบุ Java VM ฉันได้รับข้อความแสดงข้อผิดพลาดว่าcouldn't find a Java VM called javaw.exe inside the Eclipse folderดังนั้นฉันจึงพบว่าติดตั้ง Java ไว้ที่ไหนและระบุตำแหน่งนั้นเป็นพารามิเตอร์ในเป้าหมายของทางลัด ตอนนี้ฉันได้รับข้อผิดพลาดอื่นJava was started but returned exit code=13. คำถามที่คล้ายกันดูเหมือนจะบ่งบอกว่าเป็นความขัดแย้งแบบ 32 บิต / 64 บิต แต่ฉันเป็นบวก 99% ที่ฉันดาวน์โหลด Eclipse ทั้งรุ่น 64 บิตและJava (RE 7u5)ที่ฉันเลือกเพราะฉันมี Windows …

30
ทำไม RecyclerView ไม่มี onItemClickListener ()
ผมได้รับการสำรวจRecyclerViewและฉันรู้สึกประหลาดใจที่จะเห็นว่าไม่มีRecyclerViewonItemClickListener() ฉันมีสองคำถาม คำถามหลัก ฉันต้องการที่จะรู้ว่าทำไม Google ลบออกonItemClickListener()? มีปัญหาเรื่องประสิทธิภาพหรืออย่างอื่นหรือไม่ คำถามรอง ฉันแก้ไขปัญหาด้วยการเขียนonClickในRecyclerView.Adapter: public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener { public TextView txtViewTitle; public ImageView imgViewIcon; public ViewHolder(View itemLayoutView) { super(itemLayoutView); txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title); imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon); } @Override public void onClick(View v) { } } นี่โอเค / มีวิธีที่ดีกว่านี้ไหม?

17
ความแตกต่างระหว่าง HashMap, LinkedHashMap และ TreeMap
ความแตกต่างระหว่างคืออะไรHashMap, LinkedHashMapและTreeMapใน Java? ผมไม่เห็นความแตกต่างในการส่งออกใด ๆ ที่เป็นทั้งสามมีและkeySet valuesอะไรคือHashtableS? Map m1 = new HashMap(); m1.put("map", "HashMap"); m1.put("schildt", "java2"); m1.put("mathew", "Hyden"); m1.put("schildt", "java2s"); print(m1.keySet()); print(m1.values()); SortedMap sm = new TreeMap(); sm.put("map", "TreeMap"); sm.put("schildt", "java2"); sm.put("mathew", "Hyden"); sm.put("schildt", "java2s"); print(sm.keySet()); print(sm.values()); LinkedHashMap lm = new LinkedHashMap(); lm.put("map", "LinkedHashMap"); lm.put("schildt", "java2"); lm.put("mathew", "Hyden"); lm.put("schildt", "java2s"); …
958 java  map 

17
:: (เครื่องหมายทวิภาคคู่) ใน Java 8
ฉันสำรวจแหล่งJava 8และพบว่าส่วนหนึ่งของรหัสนี้น่าประหลาดใจมาก: //defined in IntPipeline.java @Override public final OptionalInt reduce(IntBinaryOperator op) { return evaluate(ReduceOps.makeInt(op)); } @Override public final OptionalInt max() { return reduce(Math::max); //this is the gotcha line } //defined in Math.java public static int max(int a, int b) { return (a >= b) ? a : b; } เป็นMath::maxเหมือนตัวชี้วิธีการหรือไม่ …
956 java  java-8 

13
คลาสแบบคงที่ใน Java
มีอะไรstatic classในจาวาหรือเปล่า? ความหมายของคลาสนั้นคืออะไร ทุกวิธีของคลาสสแตติกจำเป็นต้องมีstaticด้วยหรือไม่ มันจำเป็นต้องใช้วิธีอื่นในการปัดเศษหรือไม่ถ้าชั้นมีวิธีคงที่ทั้งหมดชั้นจะคงที่ด้วยหรือไม่ คลาสแบบคงที่ดีสำหรับอะไร?

10
วิธีการจำลองโมฆะด้วย Mockito
วิธีการเยาะเย้ยวิธีการที่มีประเภทผลตอบแทนเป็นโมฆะ? ฉันใช้รูปแบบการสังเกตการณ์ แต่ไม่สามารถเยาะเย้ยกับ Mockito ได้เพราะฉันไม่รู้ว่าจะทำอย่างไร และฉันพยายามค้นหาตัวอย่างบนอินเทอร์เน็ต แต่ไม่ประสบความสำเร็จ ชั้นเรียนของฉันมีลักษณะเช่นนี้: public class World { List<Listener> listeners; void addListener(Listener item) { listeners.add(item); } void doAction(Action goal,Object obj) { setState("i received"); goal.doAction(obj); setState("i finished"); } private string state; //setter getter state } public class WorldTest implements Listener { @Test public void word{ World w= …

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