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

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

27
สร้างสตริงที่มีอักขระ n ตัว
มีวิธีใน java เพื่อสร้างสตริงที่มีจำนวนอักขระที่ระบุหรือไม่ ในกรณีของฉันฉันจะต้องสร้างสตริงที่มี 10 ช่องว่าง รหัสปัจจุบันของฉันคือ: StringBuffer outputBuffer = new StringBuffer(length); for (int i = 0; i < length; i++){ outputBuffer.append(" "); } return outputBuffer.toString(); มีวิธีที่ดีกว่าในการบรรลุสิ่งเดียวกัน โดยเฉพาะอย่างยิ่งฉันต้องการบางสิ่งที่รวดเร็ว (ในแง่ของการประหารชีวิต)


17
Android RecyclerView การเพิ่ม & การลบรายการ
ฉันมี RecyclerView พร้อมกล่องข้อความ TextView และปุ่มข้าม ImageView ฉันมีปุ่มด้านนอกของ recyclerview ที่ทำให้ปุ่มกากบาท ImageView มองเห็น / หายไป ฉันกำลังมองหาที่จะลบรายการจาก recylerview เมื่อกดปุ่มข้ามรายการนั้น ImageView อะแดปเตอร์ของฉัน: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public MyAdapter.ViewHolder …

6
วิธีการเปลี่ยนระดับการบันทึกรากโดยทางโปรแกรมสำหรับการย้อนกลับ
ฉันมีไฟล์ logback.xml ต่อไปนี้: <configuration debug="true"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration> ตอนนี้เมื่อเกิดเหตุการณ์เฉพาะฉันต้องการเปลี่ยนระดับของ root logger จากการดีบักเป็นข้อผิดพลาดโดยทางโปรแกรม ฉันไม่สามารถใช้การทดแทนตัวแปรได้ซึ่งเป็นข้อบังคับที่ฉันต้องทำภายในรหัส จะทำอย่างไร? ขอบคุณ
144 java  logging  logback 

10
การคำนวณวันสุดท้ายของเดือน
ฉันมีปัญหากับการคำนวณว่าวันสุดท้ายของเดือนถัดไปสำหรับการแจ้งเตือนที่กำหนดเวลาการส่ง นี่คือรหัสของฉัน: RecurrenceFrequency recurrenceFrequency = notification.getRecurrenceFrequency(); Calendar nextNotifTime = Calendar.getInstance(); นี่คือสายที่ทำให้เกิดปัญหาที่ฉันเชื่อว่า: nextNotifTime.add(recurrenceFrequency.getRecurrencePeriod(), recurrenceFrequency.getRecurrenceOffset()); ฉันจะใช้ปฏิทินเพื่อตั้งค่าวันสุดท้ายของเดือนถัดไปให้ถูกต้องได้อย่างไร
144 java  datetime  calendar 

4
ByteBuffer.allocate () กับ ByteBuffer.allocateDirect ()
ถึงallocate()หรือallocateDirect()นั่นคือคำถาม เป็นเวลาหลายปีตอนนี้ฉันติดอยู่เพียงแค่ความคิดที่ว่าตั้งแต่DirectByteBuffers มีการทำแผนที่หน่วยความจำโดยตรงในระดับ OS, ว่าจะดำเนินการได้เร็วขึ้นด้วยการรับ / วางสายกว่าHeapByteBuffers ฉันไม่เคยสนใจที่จะหารายละเอียดที่แน่นอนเกี่ยวกับสถานการณ์จนถึงปัจจุบัน ฉันต้องการทราบว่าByteBuffers สองประเภทใดที่เร็วและเงื่อนไขอะไร

8
ความแตกต่างระหว่างหนึ่งต่อหลายหลายต่อหนึ่งและหลายต่อหลายคน?
ตกลงดังนั้นนี่อาจเป็นคำถามเล็กน้อย แต่ฉันมีปัญหาในการมองเห็นและเข้าใจความแตกต่างและเวลาที่จะใช้แต่ละครั้ง ฉันยังไม่ชัดเจนว่าแนวคิดเช่นการแมปแบบทิศทางเดียวและแบบสองทิศทางมีผลต่อความสัมพันธ์แบบหนึ่งต่อหลาย / หลายต่อหลายครั้งอย่างไร ฉันกำลังใช้ Hibernate อยู่ตอนนี้ดังนั้นคำอธิบายใด ๆ ที่เกี่ยวข้องกับ ORM จะเป็นประโยชน์ ตัวอย่างเช่นสมมติว่าฉันมีการตั้งค่าต่อไปนี้: public class Person{ private Long personId; private Set<Skill> skills; //Getters and setters } public class Skill{ private Long skillId; private String skillName; //Getters and setters } ดังนั้นในกรณีนี้ฉันจะมีการทำแผนที่แบบไหน? คำตอบสำหรับตัวอย่างเฉพาะนี้ได้รับการชื่นชมอย่างแน่นอน แต่ฉันก็อยากจะเห็นภาพรวมของเวลาที่จะใช้แบบตัวต่อตัวและแบบตัวต่อตัวและเมื่อใดที่จะใช้ตารางการเข้าร่วมกับคอลัมน์การเข้าร่วมและทิศทางเดียวกับแบบสองทิศทาง

9
นำเข้า PEM ไปยังที่เก็บคีย์ Java
ฉันกำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ SSL ซึ่งต้องการให้ฉันตรวจสอบสิทธิ์ตัวเอง ในการใช้ SSL ผ่าน Apache MINA ฉันต้องการไฟล์ JKS ที่เหมาะสม อย่างไรก็ตามฉันได้รับไฟล์. PEM เท่านั้น ฉันจะสร้างไฟล์ JKS จากไฟล์ PEM ได้อย่างไร
144 java  ssl  keystore  pem  apache-mina 

4
การใช้ Java กับ Nvidia GPUs (CUDA)
ฉันกำลังทำงานในโครงการธุรกิจที่ทำใน Java และต้องการพลังการคำนวณขนาดใหญ่เพื่อคำนวณตลาดธุรกิจ คณิตศาสตร์ง่าย ๆ แต่มีข้อมูลจำนวนมหาศาล เราสั่งให้ CUDA GPUs ลองด้วยและเนื่องจาก Java ไม่รองรับ CUDA ฉันจึงสงสัยว่าจะเริ่มต้นอย่างไร ฉันควรสร้างอินเตอร์เฟส JNI หรือไม่ ฉันควรใช้ JCUDA หรือมีวิธีอื่นหรือไม่? ฉันไม่มีประสบการณ์ในสาขานี้และฉันต้องการถ้ามีคนสามารถชี้แนะทางให้ฉันเพื่อให้ฉันสามารถเริ่มค้นคว้าและเรียนรู้ได้


2
เข้าถึง“ this” จาก Java anonymous class
รับรหัสต่อไปนี้: public interface Selectable { public void select(); } public class Container implements Selectable { public void select() { ... } public void createAnonymousClass() { Selectable s = new Selectable() { public void select() { //see comment below. } }; } } ฉันต้องการเข้าถึงContainer.select()จากภายในselect()วิธีการเรียนที่ไม่ระบุชื่อ อย่างไรก็ตามthis.select()จะเรียกselect()วิธีการของคลาสที่ไม่ระบุชื่ออีกครั้ง ข้อเสนอแนะของฉันจะเป็น: แนะนำเขตข้อมูลลงในคอนเทนเนอร์เช่น private Container self = …

4
ความแตกต่างระหว่าง java.exe และ javaw.exe
เมื่อเร็ว ๆ นี้ฉันสังเกตเห็นว่าบางแอปพลิเคชันทำงานอยู่javaw(ไม่ใช่ในjava) อะไรคือความแตกต่างระหว่างพวกเขาและฉันจะเรียกใช้แอพพลิเคชั่นสวิงได้javawอย่างไร
143 java  swing  javaw 

4
มีอะไรในไฟล์ Eclipse .classpath / .project
เราเพิ่งมีปัญหากับโครงการ Eclipse สำหรับสมาชิกในทีมของเรา Tomcat ไม่ได้ปรับใช้ JAR ของแอปพลิเคชัน ในที่สุดเราก็สังเกตเห็นว่า.classpathไฟล์ Eclipse นั้นไม่เหมือนกับสมาชิกในทีมที่โครงการก็โอเค เราแทนที่.classpathไฟล์ด้วยไฟล์เดียวจากโครงการที่ตกลงและการปรับใช้ Tomcat เสร็จสมบูรณ์ เพิ่งออกมาจากความอยากรู้อยากเห็นและรู้ว่าจะต้องมองอะไรในอนาคตหากมีอะไรผิดปกติอะไรคือสิ่งที่อยู่ภายใน.classpathและ.projectไฟล์ ฉันจะเพิ่มอะไรในนั้นความหมายทั้งหมดคืออะไร

11
“ องค์ประกอบไม่ได้เชื่อมต่อกับ DOM” StaleElementReferenceException แบบสุ่มอีกต่อไป
ฉันหวังว่ามันเป็นแค่ฉัน แต่ Selenium Webdriver ดูเหมือนเป็นฝันร้ายที่สมบูรณ์ เว็บเบราว์เซอร์ Chrome ใช้งานไม่ได้ในขณะนี้และไดรเวอร์อื่น ๆ ค่อนข้างไม่น่าเชื่อถือหรือดูเหมือนเป็นอย่างนั้น ฉันกำลังต่อสู้กับปัญหาหลายอย่าง แต่นี่คือปัญหาเดียว การทดสอบของฉันจะล้มเหลวด้วยการสุ่ม "org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_23'" ฉันใช้ webdriver เวอร์ชั่น 2.0b3 ฉันได้เห็นสิ่งนี้เกิดขึ้นกับไดรเวอร์ FF และ IE วิธีเดียวที่ฉันสามารถป้องกันได้คือเพิ่มการโทรจริงThread.sleepก่อนที่จะเกิดข้อยกเว้น นั่นเป็นวิธีแก้ปัญหาที่ไม่ดีดังนั้นฉันหวังว่าจะมีใครบางคนชี้ให้เห็นข้อผิดพลาดในส่วนของฉันที่จะทำให้ดีขึ้นทั้งหมด

4
ทำไมหนึ่งประกาศวิธีการส่วนต่อประสาน Java เป็นนามธรรม?
ฉันใช้คุณลักษณะการเปลี่ยนโครงสร้าง "pull interface" ของ Eclipse วันนี้เพื่อสร้างอินเตอร์เฟสตามคลาสที่มีอยู่ กล่องโต้ตอบเสนอให้สร้างวิธีการใหม่ทั้งหมดของส่วนต่อประสานใหม่เป็นวิธี "นามธรรม" ประโยชน์ของสิ่งนั้นคืออะไร? ฉันคิดว่าความจริงที่ว่าคุณได้รับอนุญาตให้ประกาศวิธีการอินเทอร์เฟซเป็นนามธรรมเป็นคุณสมบัติที่ไม่จำเป็นและไม่เป็นอันตรายของภาษาที่ไม่ได้รับการสนับสนุนเป็นพิเศษ ทำไม Eclipse ถึงสนับสนุนสไตล์เช่นนี้หรือทำไมบางคนจึงเลือกที่จะทำเช่นนั้น? ชี้แจง: ฉันไม่ได้ถามว่าทำไมวิธีการเชื่อมต่อจึงเป็นนามธรรมซึ่งเห็นได้ชัด ฉันถามว่าทำไมคนเลือกที่จะทำเครื่องหมายว่าเป็นนามธรรมอย่างชัดเจนเพราะถ้าพวกเขาอยู่ในอินเทอร์เฟซพวกเขาเป็นนามธรรมอยู่แล้ว

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