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

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

26
เหตุใดการประมวลผลอาร์เรย์ที่เรียงลำดับจึงเร็วกว่าการประมวลผลอาร์เรย์ที่ไม่เรียงลำดับ
Наэтотвопросестьответына กองมากเกินнарусском : Почемуотсортированныймассивобрабатываетсябыстрее, чемнеотсортированный? นี่คือโค้ด C ++ ที่แสดงพฤติกรรมที่แปลกประหลาดบางอย่าง ด้วยเหตุผลแปลก ๆ บางอย่างการเรียงลำดับข้อมูลทำให้โค้ดเร็วขึ้นเกือบหกเท่า: #include <algorithm> #include <ctime> #include <iostream> int main() { // Generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] = std::rand() % 256; // !!! With this, the …

9
ทำไมการลบสองครั้งนี้ (ในปี 1927) จึงให้ผลลัพธ์ที่แปลก
หากฉันเรียกใช้โปรแกรมต่อไปนี้ซึ่งแยกวิเคราะห์สตริงวันที่สองครั้งโดยอ้างอิงห่างกัน 1 วินาทีแล้วเปรียบเทียบ: public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str3 = "1927-12-31 23:54:07"; String str4 = "1927-12-31 23:54:08"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld4-ld3); } ผลลัพธ์คือ: 353 ทำไมld4-ld3ไม่1(อย่างที่ฉันคาดหวังจากความแตกต่างหนึ่งวินาทีในเวลา) …
6825 java  date  timezone 

30
Java "ผ่านการอ้างอิง" หรือ "pass-by-value" หรือไม่?
ผมคิดเสมอว่าเป็น Java ผ่านโดยการอ้างอิง อย่างไรก็ตามฉันได้เห็นโพสต์บล็อกสองสามตัวอย่าง (ตัวอย่างเช่นบล็อกนี้ ) ที่อ้างว่าไม่ได้ ฉันไม่คิดว่าฉันเข้าใจความแตกต่างที่พวกเขาทำ คำอธิบายคืออะไร

30
ฉันจะอ่าน / แปลง InputStream เป็น String ใน Java ได้อย่างไร
หากคุณมีjava.io.InputStreamวัตถุคุณควรประมวลผลวัตถุนั้นและสร้างStringอย่างไร สมมติว่าฉันInputStreamมีข้อความที่มีข้อมูลตัวอักษรและฉันต้องการแปลงเป็น a Stringดังนั้นตัวอย่างเช่นฉันสามารถเขียนมันลงในไฟล์บันทึกได้ วิธีที่ง่ายที่สุดในการใช้InputStreamและแปลงเป็น a Stringคืออะไร? public String convertStreamToString(InputStream is) { // ??? }
4063 java  string  io  stream  inputstream 

30
หลีกเลี่ยง! = ข้อความสั่งโมฆะ
ผมใช้จำนวนมากที่จะหลีกเลี่ยงobject != nullNullPointerException มีทางเลือกที่ดีสำหรับสิ่งนี้หรือไม่? ตัวอย่างเช่นฉันมักจะใช้: if (someobject != null) { someobject.doCalc(); } การตรวจสอบนี้สำหรับNullPointerExceptionสำหรับsomeobjectวัตถุในตัวอย่างข้างต้น โปรดทราบว่าคำตอบที่ยอมรับอาจล้าสมัยโปรดดูhttps://stackoverflow.com/a/2386013/12943สำหรับวิธีการล่าสุด


11
ทำไม + +,, =, * =, / = ตัวดำเนินการกำหนดผสมของ Java ไม่จำเป็นต้องส่ง
จนถึงวันนี้ฉันคิดอย่างนั้น: i += j; เป็นเพียงทางลัดสำหรับ: i = i + j; แต่ถ้าเราลองทำสิ่งนี้: int i = 5; long j = 8; จากนั้นi = i + j;จะไม่รวบรวม แต่i += j;จะรวบรวมได้ มันหมายความว่าในความเป็นจริงi += j;เป็นทางลัดสำหรับบางสิ่งบางอย่างเช่นนี้ i = (type of i) (i + j)?

11
กรณีการใช้งานที่เหมาะสมสำหรับ Android UserManager.isUserAGoat ()?
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ผมกำลังมองไปที่ใหม่ APIs แนะนำในAndroid 4.2 ขณะดูUserManagerชั้นเรียนฉันพบวิธีต่อไปนี้: public boolean isUserAGoat() ใช้เพื่อตรวจสอบว่าผู้ใช้ที่ทำการโทรนี้ขึ้นอยู่กับการส่งผ่านทางไกลหรือไม่ ส่งคืนว่าผู้ใช้ที่ทำการโทรนี้เป็นแพะหรือไม่ ควรใช้สิ่งนี้อย่างไรและเมื่อใด
3633 java  android  usermanager 


30
ฉันจะสร้างจำนวนเต็มแบบสุ่มภายในช่วงที่ระบุใน Java ได้อย่างไร
ฉันจะสร้างintค่าสุ่มในช่วงที่ระบุได้อย่างไร ฉันได้ลองสิ่งต่อไปนี้แล้ว แต่สิ่งเหล่านี้ใช้ไม่ได้: ความพยายามที่ 1: randomNum = minimum + (int)(Math.random() * maximum); // Bug: `randomNum` can be bigger than `maximum`. พยายาม 2: Random rn = new Random(); int n = maximum - minimum + 1; int i = rn.nextInt() % n; randomNum = minimum + i; // Bug: `randomNum` can …
3503 java  random  integer 

17
เพราะเหตุใดอักขระ char [] จึงนิยมใช้ String สำหรับรหัสผ่าน
ใน Swing ฟิลด์รหัสผ่านมีเมธอดgetPassword()(return char[]) แทนที่จะเป็นเมธอดปกติgetText()(return String) ในทำนองเดียวกันฉันเจอข้อเสนอแนะที่จะไม่ใช้Stringในการจัดการรหัสผ่าน เหตุใดจึงStringเป็นภัยคุกคามต่อความปลอดภัยเมื่อต้องใช้รหัสผ่าน char[]มันให้ความรู้สึกไม่สะดวกในการใช้งาน
3422 java  string  security  passwords  char 

30
ฉันจะวนซ้ำแต่ละรายการอย่างมีประสิทธิภาพใน Java Map ได้อย่างไร
หากฉันมีวัตถุที่ใช้Mapอินเทอร์เฟซใน Java และฉันต้องการย้ำผ่านทุกคู่ที่อยู่ในนั้นวิธีที่มีประสิทธิภาพที่สุดในการผ่านแผนที่คืออะไร? การเรียงลำดับองค์ประกอบจะขึ้นอยู่กับการใช้แผนที่เฉพาะที่ฉันมีสำหรับอินเทอร์เฟซหรือไม่

30
วิธีการสร้างหน่วยความจำรั่วใน Java?
ฉันเพิ่งได้รับการสัมภาษณ์และฉันถูกขอให้สร้างหน่วยความจำรั่วด้วย Java ไม่จำเป็นต้องพูดอะไรเลยฉันรู้สึกงี่เง่าที่ไม่มีเงื่อนงำว่าจะเริ่มสร้างได้อย่างไร ตัวอย่างจะเป็นอย่างไร
3223 java  memory  memory-leaks 

28
ความแตกต่างระหว่าง public, protected, package-private และ private ใน Java คืออะไร?
ใน Java จะมีกฎระเบียบที่ชัดเจนในเวลาที่จะใช้ในแต่ละของการปรับเปลี่ยนการเข้าถึงคือค่าเริ่มต้น (แพคเกจเอกชน) public, protectedและprivateในขณะที่ทำให้classและinterfaceและการจัดการกับมรดก?

30
เมื่อใดที่จะใช้ LinkedList ผ่าน ArrayList ใน Java
ฉันเป็นคนหนึ่งที่เคยใช้: List<String> names = new ArrayList<>(); ฉันใช้อินเทอร์เฟซเป็นชื่อประเภทสำหรับการพกพาดังนั้นเมื่อฉันถามคำถามเช่นสิ่งเหล่านี้ฉันสามารถทำงานซ้ำรหัสของฉันได้ เมื่อควรจะLinkedListนำมาใช้มากกว่าArrayListและในทางกลับกัน?

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