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

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

22
Java: แปลง List <String> เป็น String
JavaScript มี Array.join() js&gt;["Bill","Bob","Steve"].join(" and ") Bill and Bob and Steve Java มีอะไรเช่นนี้หรือไม่? ฉันรู้ว่าฉันสามารถ cobble บางสิ่งบางอย่างตัวเองด้วย StringBuilder: static public String join(List&lt;String&gt; list, String conjunction) { StringBuilder sb = new StringBuilder(); boolean first = true; for (String item : list) { if (first) first = false; else sb.append(conjunction); sb.append(item); } return …
595 java  list 

21
มี destructor สำหรับ Java หรือไม่?
มี destructor สำหรับ Java หรือไม่? ฉันดูเหมือนจะไม่สามารถค้นหาเอกสารใด ๆ เกี่ยวกับเรื่องนี้ หากไม่มีฉันจะบรรลุผลเช่นเดียวกันได้อย่างไร เพื่อให้คำถามของฉันเฉพาะเจาะจงมากขึ้นฉันกำลังเขียนแอปพลิเคชันที่เกี่ยวข้องกับข้อมูลและข้อกำหนดระบุว่าควรมีปุ่ม 'รีเซ็ต' ที่ทำให้แอปพลิเคชันกลับสู่สถานะเดิมที่เพิ่งเปิดตัว อย่างไรก็ตามข้อมูลทั้งหมดจะต้องเป็น 'สด' เว้นแต่ว่าแอปพลิเคชันจะปิดหรือกดปุ่มรีเซ็ต การเป็นโปรแกรมเมอร์ C / C ++ ฉันคิดว่านี่น่าจะเป็นเรื่องง่าย (และด้วยเหตุนี้ฉันวางแผนที่จะใช้มันครั้งสุดท้าย) ฉันจัดโครงสร้างโปรแกรมของฉันเพื่อให้วัตถุ 'ที่สามารถรีเซ็ตได้' ทั้งหมดจะอยู่ในระดับเดียวกันเพื่อที่ฉันจะสามารถทำลายวัตถุ 'สด' ทั้งหมดเมื่อกดปุ่มรีเซ็ต ฉันคิดว่าถ้าทั้งหมดที่ฉันทำคือเพียงการตรวจสอบข้อมูลและรอให้ตัวรวบรวมขยะเก็บพวกเขาจะไม่มีหน่วยความจำรั่วถ้าผู้ใช้ของฉันป้อนข้อมูลซ้ำแล้วกดปุ่มรีเซ็ตหรือไม่ ฉันคิดเช่นกันเนื่องจาก Java ค่อนข้างเป็นภาษาที่ควรมีวิธีป้องกันไม่ให้เกิดขึ้นหรือแก้ไขปัญหานี้อย่างสง่างาม


19
ฉันจะทำให้วิธีคืนชนิดทั่วไปได้อย่างไร
ลองพิจารณาตัวอย่างนี้ (โดยทั่วไปในหนังสือ OOP): ฉันมีAnimalชั้นเรียนที่แต่ละคนAnimalสามารถมีเพื่อนมากมาย และ subclasses ชอบDog, Duck, Mouseฯลฯ ที่เพิ่มพฤติกรรมที่เฉพาะเจาะจงเช่นbark(), quack()ฯลฯ นี่คือAnimalคลาส: public class Animal { private Map&lt;String,Animal&gt; friends = new HashMap&lt;&gt;(); public void addFriend(String name, Animal animal){ friends.put(name,animal); } public Animal callFriend(String name){ return friends.get(name); } } และนี่คือตัวอย่างข้อมูลบางส่วนที่มีการพิมพ์ดีดจำนวนมาก: Mouse jerry = new Mouse(); jerry.addFriend("spike", new Dog()); jerry.addFriend("quacker", new Duck()); …


7
ความแตกต่างระหว่าง DTO, VO, POJO, JavaBeans?
ได้เห็นคำถามที่คล้ายกัน: JavaBean และ POJO แตกต่างกันอย่างไร อะไรคือความแตกต่างระหว่าง POJO (Object Java แบบธรรมดาเก่า) และ DTO (Data Transfer Object) คุณช่วยเล่าเรื่องเกี่ยวกับบริบทที่พวกเขาใช้ให้ฉันได้ไหม หรือวัตถุประสงค์ของพวกเขา?


30
RecyclerView onClick
มีใครใช้วิธีRecyclerViewพบการตั้งค่าonClickListenerรายการในRecyclerView? ฉันคิดว่าการตั้งค่าผู้ฟังให้กับแต่ละเลย์เอาท์ของแต่ละรายการ แต่ดูเหมือนจะยุ่งยากมากเกินไปฉันแน่ใจว่ามีวิธีที่RecyclerViewจะฟังonClickเหตุการณ์ แต่ฉันคิดไม่ออกเลย

5
รับ OutputStream เป็นสตริง
วิธีที่ดีที่สุดในการไพพ์เอาต์พุตจาก java.io.OutputStream ไปยัง String ใน Java คืออะไร พูดว่าฉันมีวิธีการ: writeToStream(Object o, OutputStream out) ซึ่งเขียนข้อมูลบางอย่างจากวัตถุไปยังกระแสที่กำหนด อย่างไรก็ตามฉันต้องการเอาท์พุทนี้เข้าไปใน String ได้อย่างง่ายดายที่สุด ฉันกำลังพิจารณาเขียนชั้นเรียนเช่นนี้ (ยังไม่ทดลอง): class StringOutputStream extends OutputStream { StringBuilder mBuf; public void write(int byte) throws IOException { mBuf.append((char) byte); } public String getString() { return mBuf.toString(); } } แต่จะมีวิธีที่ดีกว่า ฉันต้องการทดสอบเท่านั้น!
580 java  string  io  stream 

29
วิธีรับพา ธ ของไฟล์ JAR ที่ใช้งานอยู่
ต้องการปรับปรุงโพสต์นี้หรือไม่?ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ Наэтотвопросестьответына Stack Overflow нарусском : Чтениефайлавозле JAR รหัสของฉันทำงานในไฟล์ JAR พูดว่าfoo.jarและฉันจำเป็นต้องรู้ในรหัสว่าโฟลเดอร์ใดที่foo.jarกำลังเรียกใช้อยู่ ดังนั้นถ้าfoo.jarอยู่ในC:\FOO\ฉันต้องการได้รับเส้นทางนั้นไม่ว่าไดเรกทอรีทำงานปัจจุบันของฉันคืออะไร
580 java  path  jar  executable-jar 

30
ตรวจสอบว่าอย่างน้อยสองในสามบูลีนเป็นจริง
ผู้สัมภาษณ์เมื่อเร็ว ๆ นี้ได้ถามคำถามนี้กับฉัน: เมื่อกำหนดตัวแปรบูลีนสามตัวคือ a, b และ c ให้คืนค่าจริงถ้าอย่างน้อยสองจากสามตัวนั้นเป็นจริง วิธีการแก้ปัญหาของฉันเป็นดังนี้: boolean atLeastTwo(boolean a, boolean b, boolean c) { if ((a &amp;&amp; b) || (b &amp;&amp; c) || (a &amp;&amp; c)) { return true; } else{ return false; } } เขากล่าวว่าสิ่งนี้สามารถปรับปรุงได้มากขึ้น แต่อย่างไร

27
สร้างตัวอย่างประเภททั่วไปใน Java?
เป็นไปได้ไหมที่จะสร้างอินสแตนซ์ประเภททั่วไปใน Java ฉันกำลังคิดตามสิ่งที่ฉันเห็นว่าคำตอบคือno( เนื่องจากการลบประเภท ) แต่ฉันจะสนใจถ้าใครสามารถเห็นสิ่งที่ฉันหายไป: class SomeContainer&lt;E&gt; { E createContents() { return what??? } } แก้ไข: ปรากฎว่าสามารถใช้โทเค็นชนิด Superเพื่อแก้ไขปัญหาของฉัน แต่ต้องใช้รหัสที่ใช้การสะท้อนจำนวนมากเนื่องจากคำตอบบางส่วนด้านล่างระบุไว้ ฉันจะออกจากที่นี่ซักครู่เพื่อดูว่ามีใครมาพร้อมกับสิ่งที่แตกต่างจากบทความ Artimaของ Ian Robertson หรือไม่
576 java  generics 

11
วิธีในการวนซ้ำรายการใน Java
ค่อนข้างใหม่กับภาษาจาวาฉันพยายามทำความคุ้นเคยกับทุกวิธี (หรืออย่างน้อยก็ไม่ใช่คนที่ไม่ใช่พยาธิวิทยา) ที่อาจทำซ้ำผ่านรายการ (หรืออาจจะเป็นชุดอื่น ๆ ) และข้อดีหรือข้อเสียของแต่ละคน รับList&lt;E&gt; listวัตถุฉันรู้วิธีต่อไปนี้เพื่อวนรอบองค์ประกอบทั้งหมด: พื้นฐานสำหรับการ วนซ้ำ (แน่นอนว่ามีความเท่าเทียมwhile/ do whileลูปด้วย) // Not recommended (see below)! for (int i = 0; i &lt; list.size(); i++) { E element = list.get(i); // 1 - can call methods of element // 2 - can use 'i' to make index-based …

16
เรายกระดับนามธรรมได้หรือไม่?
ในระหว่างการสัมภาษณ์ของฉันฉันถูกถามว่า "ถ้าเราสามารถสร้างคลาสนามธรรมได้หรือไม่" คำตอบของฉันคือ "ไม่เราไม่สามารถทำได้" แต่ผู้สัมภาษณ์บอกฉันว่า "ผิดเราทำได้" ฉันโต้เถียงเล็กน้อยเกี่ยวกับเรื่องนี้ จากนั้นเขาบอกให้ฉันลองทำเองที่บ้าน abstract class my { public void mymethod() { System.out.print("Abstract"); } } class poly { public static void main(String a[]) { my m = new my() {}; m.mymethod(); } } ที่นี่ฉันกำลังสร้างตัวอย่างของชั้นเรียนของฉันและวิธีการโทรของชั้นนามธรรม ใครช่วยอธิบายเรื่องนี้ให้ฉันหน่อยได้ไหม ฉันผิดในระหว่างการสัมภาษณ์หรือไม่?
573 java  oop  class  object  abstract 

27
วิธีแปลงมิลลิวินาทีเป็น“ X นาที, x วินาที” ใน Java
ฉันต้องการบันทึกเวลาที่ใช้System.currentTimeMillis()เมื่อผู้ใช้เริ่มต้นบางอย่างในโปรแกรมของฉัน เมื่อเขาเสร็จสิ้นฉันจะลบกระแสSystem.currentTimeMillis()ออกจากstartตัวแปรและฉันต้องการแสดงเวลาที่ผ่านไปโดยใช้รูปแบบที่มนุษย์อ่านได้เช่น "XX ชั่วโมง, XX นาที, XX วินาที" หรือแม้กระทั่ง "XX นาที, XX วินาที" ไม่น่าจะใช้เวลาหนึ่งชั่วโมง วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?
572 java  time 

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