首页 > TAG信息列表 > generic-programming

java-如何创建在构造函数中返回给定参数ArrayList的方法?

我已经创建了.dat文件,以使用对象类上的序列化工具保存对象的数组列表.我有这两个类Member和Style,我想将它们保存到arrayList到.dat文件中,并且所有这些都可以使用. 我创建了一个ReadData类,该类将fileLocation作为参数.然后有这些方法 public boolean load() { public boolean

我的Java应用程序中的Caugth ClassCastException

使用数组的队列实现,但出现异常. 我有一个名为Queue的接口,其中通用ArrayQueue作为队列接口ArrayQueueTest的实现类作为我的主要类来测试代码. public interface Queue<E> { public void enqueue(E e);//insert an element in a queue public E dequeue();/delete an elem

c-指向具有不同参数的成员函数的指针的容器

我到处都在寻找(现代C设计与合作公司),但是我找不到一种好的方法来存储一组接受不同参数并在不同类上运行的回调.我之所以需要这样做,是因为我希望应用程序的每个对象都可以将其方法之一的执行推迟到主Clock对象上,该主Clock对象可以跟踪当前时间,可以在适当的时候调用此方法.我所

避免Java类型擦除

有没有办法可以避免类型擦除并获得类型参数的访问权限? public class Foo<T extends Enum<?> & Bar> { public Foo() { // access the template class here? // i.e. : baz(T.class); // obviously doesn't work } private void baz(Class&

c – 在“模板化基类”中调用模板方法时出错

以下代码无法编译,为什么会这样?我该如何解决这个问题? struct A{ template<int N> int get() { return N; } }; template <typename X> struct B : public X { template<int N> int get() { return X::get<N>(); } }; int main(int argc, const char

c – 实现反射:如何查找类的父级

我在这里有一种挑战.我正在研究一个反射库作为未来项目的练习和实用工具包.为了使它工作,我已经接受了侵入是不可避免的,我需要在类的主体上添加至少一小部分代码以获得有价值的反射数据. 但是,我希望尽可能地尽可能地保持最小化.因此,在研究了一些现有的实现之后,我发现了一个适合

c – 一个定义规则和模板类特化

popular library的作者决定实施the following design pattern: // my_traits.hpp #include <stdio.h> #include <assert.h> template<typename T> struct my_traits { static bool equals(const T& x, const T& y) { printf(&qu

Java中的泛型方法应该具有什么签名,以便它可以接受任何>和……?

我想创建一个遍历任何存储ArrayList< U>的集合的方法. – 让我们称之为收集T;例如,它可以是LinkedList,ArrayList或任何其他Collection; U – 是另一种需要记忆的类型;我想要创建的方法应该返回相同的集合T但它应该存储LinkedList< U>代替. “错误的”希望声明: public <T extends

c – 对堆栈模板中的返回感到困惑

我正在C中实现一个通用堆栈(带有一个数组),并且对于在这种情况下返回的内容感到困惑: template <class T> T Stack<T>::pop(void) { if (size != 0) { return items[size - 1]; size--; } else { cerr << "Cannot pop from empty stack." << en

c – 自动推导模板中的函数类型

我有简单的地图实现和简单的id(身份): template <typename T> T map(const T& x, std::function<decltype(x[0])(decltype(x[0]))> f) { T res(x.size()); auto res_iter = begin(res); for (auto i(begin(x)); i < end(x); ++i) { *res_iter++ = f(

C 11:显式复制值以用作右值引用的最短路径

我有一个功能 class A { <has copy and move constructors > }; void f(A &&a) { ... } 我想用变量x调用函数f,但我想在x的副本上运行f,而不是x本身.为什么我不能这样做? f(copy(x)); 但相反必须这样做 f(A(x)); 有什么类似于我上面描述的复制功能吗? 注意:请不要告诉我添加一

传递parramaters的泛型方法 – java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap

我有一个简单的泛型类: public class OwnedCollection<T extends BaseObject> extends BaseObject { private String playerId; private List<T> collection; public OwnedCollection(String playerId, List<T> collection) { super(playerId); t

java – 每种类型的通用接口vs接口

有两个类X,Y实现Base接口 有一个界面负责处理每种类型的对象 interface Base { } class X implements Base { } class Y implements Base { } interface XProcessor { void process(X object); } interface YProcessor { void process(Y object); } 但这种方法的缺点是

java – 抽象类方法 – 实例化子类对象?

我正在尝试创建一个矩阵库(教育目的)并且已经遇到了障碍我不知道如何接近优雅.添加两个矩阵是一项简单的任务,在每个矩阵的元素上单独使用方法get(). 但是,我使用的语法是错误的. NetBeans声称它期望一个类,但发现了一个类型参数;对我来说,类型参数只是一组与1到1的映射到类的集合.

java – 通过泛型投射

有没有办法转换对象以返回方法的通用值?我试过这种方式但发生了Casting异常: public <S extends Super> S get(Class<S> clazz) { return (S) new Super(); } public class Super { } public class Sub1 extends Super { } public class Sub2 extends Super { } 例外: ja

Java泛型类和通配符

我在java中遇到泛型类的问题. 我有这门课: public abstract class MyMotherClass<C extends AbstractItem> { private C item; public void setItem(C item) { this.item = item; } public C getItem() { return item; } } 这个