Tag: generics

扩展类和实现接口的generics类

为了减less类的依赖,我想把参数(使用generics类)发送给扩展某个类的构造函数并实现接口,例如 public interface SomeInterface{ public void someMethod(); } public class MyFragment extends Fragment implements SomeInterface{ //implementation } //here is classs, that I need to create. T must extend Fragment and implements //SomeInterface. But, I'm afraid, if I'll use MyFragment directly, it will create a //dependence of SomeClass from MyFragment. public class SomeClass /*generic?*/ { public […]

从string转换为<T>

我真的应该能够得到这一点,但我只是想,我认为这将是更容易问。 在C#函数中: public static T GetValue<T>(String value) where T:new() { //Magic happens here } 什么是一个很好的执行魔术? 这背后的想法是,我有XMLparsing和所需的值往往是原始(布尔,INT,string等),这是一个完美的地方使用generics…但一个简单的解决scheme是逃避我在这一刻。 顺便说一句,这是我需要parsing的XML的示例 <Items> <item> <ItemType>PIANO</ItemType> <Name>A Yamaha piano</Name> <properties> <allowUpdates>false</allowUpdates> <allowCopy>true</allowCopy> </properties> </item> <item> <ItemType>PIANO_BENCH</ItemType> <Name>A black piano bench</Name> <properties> <allowUpdates>true</allowUpdates> <allowCopy>false</allowCopy> <url>www.yamaha.com</url> </properties> </item> <item> <ItemType>DESK_LAMP</ItemType> <Name>A Verilux desk lamp</Name> <properties> <allowUpdates>true</allowUpdates> <allowCopy>true</allowCopy> <quantity>2</quantity> </properties> </item> </Items>

如何确定列表是否在Java中sorting?

我想要一个方法,接受一个List<T>其中T实现Comparable并根据列表是否sorting返回true或false 。 在Java中实现这个最好的方法是什么? generics和通配符很容易处理这些事情,但是我现在都陷入了困境。 有一个类似的方法来检查列表是否相反,也是很好的。

如何强制genericstypes参数成为一个接口?

在java中有一种方法来指定generics类的types参数必须是一个接口(不仅仅是扩展它!) 我想要做的是以下几点: public class MyClass<X extends SomeInterface, Y extends SomeOtherClass & X> 这意味着Y必须是SomeOtherClass的子类并实现X.我目前得到的编译器是 typesX不是一个接口; 它不能被指定为有界参数 那么,我怎样才能告诉编译器X必须是一个接口? 编辑: 好的,我想我过分简化了我的问题。 让我们使用我的实际应用领域来更加清楚: 我有一个表示图的API。 一个图包含节点和边缘对象。 所有这三个类都实现了Shape接口。 形状可能具有子形状,父形状并属于图表。 问题是,我需要制作这个API的两个版本:一个只有基本function的开放源代码,另一个带有更多function的扩展源代码。 但是,扩展API只能提供返回扩展types( ExtendedDiagram , ExtendedNode , ExtendedEdge和(这里出现问题) ExtendedShape )的方法。 所以我有这样的东西: /* BASIC CLASSES */ public interface Shape<X extends Shape<X,Y>, Y extends Diagram<X,Y>>{ public List<X> getChildShapes(); public X getParent(); public Y getDiagram(); … […]

为什么java.util.Set <V>接口不提供get(Object o)方法?

我知道只有一个根据.equals()的对象的实例被允许在一个Set中,如果你已经有了一个等价的对象,你不应该“需要”从Set中获取一个对象,但是我仍然想有一个.get()方法,返回Set(或null)中对象的实际实例,给定一个等效对象作为参数。 任何想法/理论为什么它是这样devise的? 我通常不得不通过使用Map来创build关键和值,或者类似的东西来解决这个问题。 编辑:我不认为人们理解我的问题到目前为止。 我希望确切的对象实例已经在集合中,而不是一个可能不同的对象实例,其中.equals()返回true。 至于为什么我想要这种行为,通常.equals()不考虑对象的所有属性。 我想提供一些虚拟的查找对象,并返回Set中的实际对象实例。

在ASP.NET MVC Razor中使用通用模型

是否有可能在ASP.NET MVC 3(w / Razor)中使用通用模型? 以下语法错误会失败: @model DtoViewModel<T> where T : IDto

C#通用静态构造函数

将一个generics类的静态构造函数运行到你传递给generics参数的每一个types如下: class SomeGenericClass<T> { static List<T> _someList; static SomeGenericClass() { _someList = new List<T>(); } } 有没有使用这种方法的退步?

Java数组和generics:Java相当于C#IEnumerable <T>

所以在C#中,我可以将一个string[]作为IEnumerable<string> 。 有没有Java的等价物?

Javagenerics如何与C ++模板不同? 为什么我不能使用int作为参数?

我正在努力创造 ArrayList<int> myList = new ArrayList<int>(); 在Java中,但这是行不通的。 有人可以解释为什么int作为types参数不起作用? 使用Integer类为int原始的作品,但有人可以解释为什么int不被接受? Java版本1.6

升级到Java 7后,generics类的types参数化字段变为不可见

现在, Eclipse Indigo SR1内置Java 7支持终于在一两周内出现,我将我的游乐场项目从Helios SR2 + JDK 1.6_23迁移到Indigo SR1 + JDK 1.7.0。 所有项目完全重build后,只有一个类未能编译。 下面这个类在Java 1.6(和1.5)上编译和运行得很好: public abstract class Area<A extends Area<?>> implements Comparable<Area<?>> { private String name; private Area<?> parent; private Set<A> areas; protected Area(String name, A… areas) { this.name = name; this.areas = new TreeSet<A>(); for (A area : areas) { area.parent = […]