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

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

9
การสร้างวัตถุขนาดใหญ่ที่ไม่เปลี่ยนรูปโดยไม่ใช้ตัวสร้างที่มีรายการพารามิเตอร์ยาว ๆ
ฉันมีวัตถุขนาดใหญ่ (มากกว่า 3 ช่อง) ที่สามารถและไม่เปลี่ยนรูปได้ ทุกครั้งที่ฉันเจอกรณีนั้นฉันมักจะสร้างสิ่งที่น่ารังเกียจของตัวสร้างที่มีรายการพารามิเตอร์ยาว ๆ รู้สึกไม่ถูกต้องใช้ยากและความสามารถในการอ่านไม่เพียงพอ จะยิ่งแย่ไปกว่านั้นถ้าฟิลด์นั้นเป็นประเภทคอลเลกชันบางประเภทเช่นรายการ วิธีง่ายๆaddSibling(S s)จะทำให้การสร้างวัตถุง่ายขึ้นมาก แต่ทำให้วัตถุไม่แน่นอน พวกคุณใช้อะไรในกรณีเช่นนี้? ฉันใช้ Scala และ Java แต่ฉันคิดว่าปัญหาคือภาษาไม่เชื่อเรื่องพระเจ้าตราบใดที่ภาษานั้นมุ่งเน้นไปที่วัตถุ วิธีแก้ปัญหาที่ฉันคิดได้: "สิ่งที่น่ารังเกียจของตัวสร้างที่มีรายการพารามิเตอร์ยาว" รูปแบบตัวสร้าง
96 java  oop  scala  immutability 

9
การซ่อนชื่อ Java: วิธีที่ยาก
ฉันมีปัญหาเกี่ยวกับการซ่อนชื่อซึ่งแก้ยากมาก นี่คือเวอร์ชันที่เรียบง่ายที่อธิบายปัญหา: มีคลาส: org.A package org; public class A{ public class X{...} ... protected int net; } จากนั้นมีชั้นเรียน net.foo.X package net.foo; public class X{ public static void doSomething(); } และตอนนี้นี่คือคลาสที่มีปัญหาซึ่งสืบทอดมาจากAและต้องการโทรnet.foo.X.doSomething() package com.bar; class B extends A { public void doSomething(){ net.foo.X.doSomething(); // doesn't work; package net is hidden by inherited …

3
Gson seralizer ที่กำหนดเองสำหรับตัวแปรเดียว (จากหลายตัว) ในวัตถุโดยใช้ TypeAdapter
ฉันได้เห็นตัวอย่างง่ายๆมากมายเกี่ยวกับการใช้ TypeAdapter ที่กำหนดเอง Class TypeAdapter<T>เป็นประโยชน์มากที่สุดได้รับ แต่นั่นยังไม่ตอบคำถามของฉัน ฉันต้องการปรับแต่งการทำให้เป็นอนุกรมของฟิลด์เดียวในออบเจ็กต์และปล่อยให้กลไก Gson เริ่มต้นดูแลส่วนที่เหลือ เพื่อจุดประสงค์ในการสนทนาเราสามารถใช้นิยามคลาสนี้เป็นคลาสของอ็อบเจ็กต์ที่ฉันต้องการทำให้เป็นอนุกรม ฉันต้องการให้ Gson ทำให้สมาชิกสองคลาสแรกเป็นอนุกรมรวมทั้งสมาชิกที่เปิดเผยทั้งหมดของคลาสพื้นฐานและฉันต้องการทำซีเรียลไลเซชันแบบกำหนดเองสำหรับสมาชิกคลาสที่ 3 และคลาสสุดท้ายที่แสดงด้านล่าง public class MyClass extends SomeClass { @Expose private HashMap<String, MyObject1> lists; @Expose private HashMap<String, MyObject2> sources; private LinkedHashMap<String, SomeClass> customSerializeThis; [snip] }

13
คลาสที่ยกย่องในภาษา Java
คลาสบางคลาสใน Java API มาตรฐานได้รับการปฏิบัติที่แตกต่างจากคลาสอื่นเล็กน้อย ฉันกำลังพูดถึงคลาสเหล่านั้นที่ไม่สามารถใช้งานได้หากไม่มีการสนับสนุนพิเศษจากคอมไพเลอร์และ / หรือ JVM สิ่งที่ฉันคิดขึ้นมาทันทีคือ: Object (ชัดเจน) เหมือนอย่างอื่นไม่มีซุปเปอร์คลาส String เนื่องจากภาษามีการสนับสนุนพิเศษสำหรับตัวดำเนินการ + Thread เนื่องจากมีเมธอด start () ที่มีมนต์ขลังนี้แม้ว่าจะไม่มีคำสั่ง bytecode ที่ "แยก" การดำเนินการ ฉันคิดว่าทุกชั้นเรียนเช่นนี้มีไม่ทางใดก็ทางหนึ่งที่กล่าวถึงใน JLS ช่วยแก้ให้ด้วยนะถ้าฉันผิด. แล้วมีคลาสอะไรอีกบ้าง? มีรายการ "คลาสที่ได้รับการยกย่อง" ทั้งหมดในภาษา Java หรือไม่
96 java 

3
Spring: ฉันจะฉีด HttpServletRequest ลงใน request-scoped bean ได้อย่างไร
ฉันกำลังพยายามตั้งค่าrequest-scoped beanใน Spring ฉันตั้งค่าสำเร็จแล้วดังนั้นจึงสร้าง bean หนึ่งครั้งต่อคำขอ ตอนนี้จำเป็นต้องเข้าถึงวัตถุ HttpServletRequest เนื่องจาก bean ถูกสร้างขึ้นหนึ่งครั้งต่อคำขอฉันจึงคิดว่าคอนเทนเนอร์สามารถฉีดวัตถุร้องขอใน bean ของฉันได้อย่างง่ายดาย ฉันจะทำเช่นนั้นได้อย่างไร?
96 java  spring  servlets 

11
เหตุใดจึงไม่สามารถส่ง Integer เป็น String ใน java ได้
ฉันพบข้อยกเว้นแปลก ๆ : java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String จะเป็นไปได้อย่างไร? แต่ละออบเจ็กต์สามารถถูกโยนเป็น String ได้ใช่หรือไม่? รหัสคือ: String myString = (String) myIntegerObject; ขอบคุณ.
96 java  string  casting  integer 


4
ดาวน์โหลดไฟล์แนบโดยใช้ Java Mail
ตอนนี้ฉันได้ดาวน์โหลดข้อความทั้งหมดและเก็บไว้ที่ Message[] temp; ฉันจะรับรายชื่อไฟล์แนบสำหรับแต่ละข้อความถึงได้อย่างไร List<File> attachments; หมายเหตุ:ไม่มี libs ของบุคคลที่สามโปรดเพียงแค่ JavaMail



8
จะตรวจสอบ URL ที่ถูกต้องใน Java ได้อย่างไร?
วิธีใดเป็นวิธีที่ดีที่สุดในการตรวจสอบว่า URL ถูกต้องใน Java หรือไม่ หากพยายามโทรหาnew URL(urlString)และจับแต่ดูเหมือนว่าจะมีความสุขกับสิ่งที่เริ่มต้นด้วยMalformedURLExceptionhttp:// ฉันไม่ได้กังวลเกี่ยวกับการสร้างการเชื่อมต่อเพียงแค่ความถูกต้อง มีวิธีการนี้หรือไม่? คำอธิบายประกอบใน Hibernate Validator? ฉันควรใช้ regex หรือไม่ แก้ไข: ตัวอย่างบางส่วนของ URL ที่ได้รับการยอมรับและhttp://***http://my favorite site!
96 java  validation  url 


8
จะติดตั้ง JDK 11 ภายใต้ Ubuntu ได้อย่างไร
ดังนั้น Java 11 จะออก มีใครทราบวิธีติดตั้ง (OpenJDK จาก Oracle) จากบรรทัดคำสั่งหรือไม่? ฉันต้องการเห็นสิ่งที่เหมือนเดิมสำหรับ Oracle Java 10: sudo add-apt-repository ppa:linuxuprising/java sudo apt-get update sudo apt-get install oracle-java10-installer ป.ล. ในคำถามที่คล้ายกันเสนอคำแนะนำ: sudo apt-get install openjdk-11-jdk ไม่ทำงาน
96 java  ubuntu  java-11 

5
ความแตกต่างระหว่าง Resource, URI, URL, Path และ File ใน Java คืออะไร?
ตอนนี้ฉันกำลังดูโค้ด Java ชิ้นหนึ่งและใช้เส้นทางเป็น String และรับ URL โดยใช้ URL resource = ClassLoader.getSystemClassLoader().getResource(pathAsString);จากนั้นจึงเรียกString path = resource.getPath()ใช้new File(path);และในที่สุดก็รัน โอ้และยังมีการโทรไปยัง URL url = resource.toURI();และString file = resource.getFile()และ ตอนนี้ฉันสับสนไปหมด - ส่วนใหญ่เป็นเพราะคำศัพท์ฉันเดา ใครช่วยแนะนำความแตกต่างให้ฉันหน่อยได้ไหมหรือให้ลิงค์ไปยังวัสดุป้องกันดัมมี่ โดยเฉพาะ URI ไปยัง URL และResource to File ? สำหรับฉันแล้วรู้สึกว่าพวกเขาควรจะเป็นสิ่งเดียวกันตามลำดับ ... ความแตกต่างระหว่างgetFile()และgetPath()อธิบายได้ที่นี่: url.getFile () และ getpath () ต่างกันอย่างไร (ที่น่าสนใจคือทั้งคู่ดูเหมือนจะส่งคืน Strings ซึ่งอาจจะเพิ่มสภาพจิตใจของฉันได้มาก ... ) ตอนนี้ถ้าฉันมีตัวระบุตำแหน่งที่อ้างอิงคลาสหรือแพ็คเกจในไฟล์ …
96 java  url  terminology 

30
คราส - java.lang.ClassNotFoundException
เมื่อพยายามเริ่ม JUnit-Test จาก Eclipse ฉันจะได้รับ "ClassNotFoundException" เมื่อเรียกใช้ "mvn test" จากคอนโซลทุกอย่างทำงานได้ดี นอกจากนี้ไม่มีรายงานปัญหาใน Eclipse โครงสร้างโครงการของฉันมีดังต่อไปนี้: โครงการแม่ (pom-packaging) โครงการเว็บ (บรรจุภัณฑ์สงคราม - การทดสอบ JUnit ของฉันอยู่ที่นี่) โครงการ Flex โครงการกำหนดค่า แก้ไข: ไม่พบคลาสได้อย่างไร? เป็นแอปพลิเคชัน HelloWorld ที่เรียบง่ายโดยไม่มีไลบรารีพิเศษ นี่คือการกำหนดค่าการเรียกใช้ JUnit ของฉัน: ข้อความแสดงแทน http://www.walkner.biz/_temp/runconfig.png Testclass (แต่อย่างที่บอกมันใช้ไม่ได้กับ HelloWorld แบบธรรมดาเช่นกัน ... ): import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; …

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