สิ่งตีพิมพ์ในหัวข้อ 'generics'
ข้อมูลทั่วไปและความแปรปรวน
สวัสดีคนรักทั่วไปและประเภทความปลอดภัย
ฉันอยากเขียนบทความเกี่ยวกับ Generics & Variance มาเป็นเวลานานแล้ว แต่ก็ไม่สามารถเริ่มได้ มีบทความและวิดีโอดีๆ มากมายในหัวข้อนี้ ซึ่งฉันไม่สามารถคิดหาวิธีเพิ่มมูลค่าได้ แต่ที่นี่ฉันกำลังพยายาม หากคุณเป็นผู้เชี่ยวชาญ คุณสามารถตรวจสอบเนื้อหาด้านล่างนี้ได้ หรือหากคุณเป็นมือใหม่ คุณอาจได้รับสิ่งใหม่ๆ บ้าง เริ่มกันเลย.
ข้อมูลทั่วไป พวกเขาคืออะไร?
แนวคิดของ Generics ริเริ่มครั้งแรกในภาษาการเขียนโปรแกรมที่เรียกว่า "ML" (Meta Language) ในปี 1973..
คำถามในหัวข้อ 'generics'
สามารถเพิ่มองค์ประกอบลงในคอลเลกชันทั่วไปของไวด์การ์ดได้อย่างไร
เหตุใดฉันจึงได้รับข้อผิดพลาดของคอมไพเลอร์ด้วยโค้ด Java นี้
1 public List<? extends Foo> getFoos()
2 {
3 List<? extends Foo> foos = new ArrayList<? extends Foo>();
4 foos.add(new SubFoo());
5 return foos;
6 }...
20451 มุมมอง
schedule
09.11.2023
ฉันจะโหลดประเภททั่วไปที่มีประเภทที่ซ้อนกันจากแอสเซมบลีที่โหลดแบบไดนามิกได้อย่างไร
ในแอสเซมบลีที่โหลดลงใน AppDomain ปัจจุบันโดยใช้ Assembly.LoadFrom ฉันมีรหัสต่อไปนี้:
[TypeConverter(typeof(EnumConverter<Shapes>))]
public enum Shapes
{
Triangle,
Square,
Circle
}
EnumConverter‹T›...
2654 มุมมอง
schedule
30.11.2023
การผสมพารามิเตอร์ประเภทและประเภทนามธรรมในสกาลา
ฉันกำลังพยายามใช้คำตอบของ คำถามก่อนหน้า เพื่อใช้กราฟขนาดเล็ก ห้องสมุด. แนวคิดก็คือการพิจารณากราฟเป็นคอลเลคชัน โดยที่จุดยอดจะล้อมองค์ประกอบคอลเลกชั่น
ฉันต้องการใช้ประเภทนามธรรมเพื่อแสดงประเภท Vertex และ Edge (เนื่องจากความปลอดภัยของประเภท)...
2422 มุมมอง
schedule
03.01.2024
Java generics + วิธีการโรงงานแบบคงที่ = [ตื่นตระหนก]
ฉันคิดว่าตอนนี้ฉันจะเข้าใจ Java generics แล้ว แต่ตอนนี้ฉันทำอะไรไม่ถูกอีกแล้ว
ฉันมีคลาสทั่วไปที่ c-tor สร้างอินสแตนซ์ที่พิมพ์อย่างถูกต้อง ในขณะที่วิธีการจากโรงงานแบบคงที่สร้างประเภทที่ไม่ตรงกัน
โปรดดูรหัสต่อไปนี้:
public class...
3006 มุมมอง
schedule
10.12.2023
ประเภทการส่งคืนทั่วไปของ Marshal สำหรับ com interop
เป็นไปได้ไหมที่ Marshal จะเป็นประเภทส่งคืนทั่วไปซึ่งไม่ใช่แบบทั่วไปสำหรับ COM interop
สมมติว่าฉันมีคลาสต่อไปนี้:
[ComVisible(true)]
public class Foo
{
public IEnumerable<string> GetStr() // Generic return type
{
yield...
634 มุมมอง
schedule
18.01.2024
ความหลากหลายประเภททั่วไป
public class A {}
public class B : A {}
ตอนนี้วิธีที่ดีที่สุดในการทำงานนี้คืออะไร
List<A> a;
List<B> b = new List<B>();
a = b; // throw Cannot convert List<B> to List<A>
ขอบคุณ
676 มุมมอง
schedule
27.10.2023
Google Gson - ดีซีเรียลไลซ์รายการ‹คลาส› วัตถุ? (ประเภททั่วไป)
ฉันต้องการถ่ายโอนออบเจ็กต์รายการผ่าน Google Gson แต่ฉันไม่ทราบวิธีดีซีเรียลไลซ์ประเภททั่วไป
สิ่งที่ฉันลองหลังจากดู สิ่งนี้ ( คำตอบของ BalusC):
MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass());...
356189 มุมมอง
schedule
14.12.2023
boost::lexical_cast ใช้เทมเพลตเพียงประเภทเดียวได้อย่างไร
ฉันได้ตรวจสอบความยุ่งเหยิงที่เป็น lexical_cast.hpp แล้ว และสิ่งนี้ยังคงหลบหนีฉันไป
lexical_cast ซึ่ง 'คำจำกัดความพื้นฐาน' ใช้ทั้งแหล่งที่มาและปลายทางของเทมเพลตสามารถยอมรับไวยากรณ์เช่น lexical_cast<int>("7") ได้อย่างไร...
191 มุมมอง
schedule
18.01.2024
วิธีการทั่วไปในการตรวจสอบ int, double GetType() ใช้งานอย่างไร?
ฉันกำลังพยายามเขียนวิธีการตรวจสอบ เช่น สำหรับ double ดูเหมือนว่านี้:
protected bool ValidateLoopAttributes(string i_value, double i_threshold)
{
double result;
if (!(double.TryParse(i_value, out result) && result...
1951 มุมมอง
schedule
06.01.2024
Java Generics (ไวด์การ์ดที่มีขอบเขต)
ตามหนังสือ "Effective Java" ของ Joshua Bloch มีกฎเกี่ยวกับวิธีการ/เมื่อใช้ wildcards ที่มีขอบเขตในยาชื่อสามัญ กฎนี้คือ PECS (Producer-Extends, Comsumer-Super) เมื่อฉันศึกษาตัวอย่างต่อไปนี้:
Stack<Number> numberStack = new...
1215 มุมมอง
schedule
08.11.2023
มีวิธีแก้ไขชั่วคราวในการใช้วิธีคงที่โดยคลาสทั่วไปหรือไม่?
ฉันมีปัญหาค่อนข้างง่าย แต่ดูเหมือนว่าจะไม่มีวิธีแก้ปัญหาภายใน C#
ฉันมีคลาส Foo ประมาณ 100 คลาสโดยแต่ละคลาสใช้เมธอด static FromBytes() นอกจากนี้ยังมีคลาสทั่วไปบางคลาสที่จะใช้วิธีการเหล่านี้เพื่อ FromBytes() ของตัวเอง...
644 มุมมอง
schedule
27.12.2023
มีชื่อสำหรับรูปแบบนี้หรือไม่
ฉันเคยใช้รูปแบบนี้หลายครั้งในหลายๆ ที่ โดยปกติจะใช้ร่วมกับรูปแบบปลั๊กอิน
ตัวอย่างบางวิธีที่ฉันใช้กับระบบการรับส่งข้อความ เช่น การสร้างผู้สมัครรับข้อความประเภทต่างๆ ที่ไม่เกี่ยวข้อง...
184 มุมมอง
schedule
08.01.2024
วิธีห่อหุ้มเซสชัน API ของ Hibernate เพื่อหลีกเลี่ยงคำเตือนยาสามัญที่ไม่ได้ตรวจสอบ
ฉันกำลังเขียน wrapper สำหรับ Hibernate Session API:
@SuppressWarnings("unchecked")
public <T> List<T> execQuery(String hql){
Session s=sf.getCurrentSession();
return s.createQuery(hql)
.list();
}...
112 มุมมอง
schedule
18.11.2023
Scala: การจับคู่รูปแบบกับคลาสเคสทั่วไป
เป็นไปได้หรือไม่ที่จะจับคู่คลาสเคสทั่วไป? แนวคิดคือการใช้คลาสเคสทั่วไปเป็นข้อความระหว่างนักแสดง
นั่นคือแนวทางของฉัน: มีวิธีที่จะทำให้สิ่งนี้เป็นไปได้หรือไม่?
case class EbTreeDataObject[T](uId: Long, changeId: Long, payload:Option[T])
case...
1619 มุมมอง
schedule
08.11.2023
วิธีการตั้งค่าให้กับตัวแปรคลาสโดยไม่ต้องใช้ตัวตั้งค่า
ฉันต้องการแทรกค่าให้กับตัวแปร Object โดยไม่ใช้ตัวตั้งค่า เป็นไปได้อย่างไร..
นี่คือตัวอย่าง
Class X{
String variableName;
// getters and setters
}
ตอนนี้ฉันมีฟังก์ชันที่ประกอบด้วย variable name , value to be set และ Object of the...
8552 มุมมอง
schedule
04.01.2024
ค้นหาอาร์เรย์สำหรับวัตถุประเภทที่ให้ไว้
ฉันมีสัตว์มากมาย ฉันต้องการค้นหาคลาสย่อยบางประเภท อาร์เรย์ของสัตว์จะมีคลาสย่อยเพียงประเภทเดียวเท่านั้น ฉันได้ลองทำสิ่งต่อไปนี้แล้ว ซึ่งไม่ได้ผล ฉันได้รับข้อผิดพลาดในการคอมไพล์ โดยระบุว่า: "animalType ไม่ใช่ประเภท"
public static func...
61 มุมมอง
schedule
24.12.2023
ArrayLiteralConvertible: แค่โปรโตคอลปกติเหรอ?
กำลังพยายามทำความเข้าใจและชื่นชมวิธีการทำงานของ ArrayLiteralConvertible...
struct Struct<T>: ArrayLiteralConvertible {
init(arrayLiteral elements: T...) {
for element in elements {
print(element)
}
}
}...
170 มุมมอง
schedule
08.11.2023
Gwt ขอโรงงาน ข้อมูลทั่วไปและการสืบทอดทางฝั่งไคลเอ็นต์
ฉันกำลังพยายามเขียนคลาสทั่วไปเพื่อหลีกเลี่ยงการใช้โค้ดซ้ำ ฉันต้องการมีวิธีทั่วไปสำหรับ:
รับเอนทิตี/โมเดลจากเซิร์ฟเวอร์ด้วยรหัส
รับรายการเอนทิตี/โมเดลทั้งหมดจากเซิร์ฟเวอร์
ส่งไปยังเซิร์ฟเวอร์และบันทึกใน db Entity/Model
ควรใช้ได้กับคลาส...
240 มุมมอง
schedule
27.12.2023
การสะท้อน Java และข้อมูลทั่วไป - ข้อมูลประเภทที่กำหนดพารามิเตอร์ขาดหายไป
ฉันต้องการสร้างลายเซ็นของวิธีการใหม่โดยใช้การสะท้อนกลับใน Java 8 ฉันพบปัญหาบางอย่างเกี่ยวกับวิธีการทั่วไป โดยเฉพาะอย่างยิ่ง ฉันไม่พบสิ่งใดที่จะช่วยกู้คืนข้อมูลเกี่ยวกับกรณีของ "extends" หรือ "super" ในการประกาศประเภทเทมเพลต...
179 มุมมอง
schedule
09.12.2023
การใช้งานคุณลักษณะที่ขัดแย้งกันใน Rust
ฉันต้องการใช้คุณสมบัติที่กำหนดเองสำหรับ &'a str และสำหรับจำนวนเต็มจนถึง i32 แต่ Rust ไม่อนุญาตให้ฉัน:
use std::convert::Into;
pub trait UiId {
fn push(&self);
}
impl<'a> UiId for &'a str {
fn push(&self) {}
}...
5313 มุมมอง
schedule
15.11.2023