【java-如何实现泛型类型的equals?】教程文章相关的互联网学习教程文章

Java 8:泛型类型推断在方法引用上失败?【代码】

任何人都可以告诉我为什么下面的代码无法编译,但lambda版本: 是否有关于泛型类型推断的规则?我应该避免什么? 失败:EntityLayerManager.refreshLayerRenderables(wwd, this.networkNodeShapeLayer, nodeMap.values(),MissionDetailUIConst::createNetworkNodeRenderable,MissionDetailUIConst::updateNetworkNodeRenderable) // <<== FAILED 成功(正常lambda):EntityLayerManager.refreshLayerRenderables(wwd, this.networkNo...

java – 使用泛型类型创建地图【代码】

我正在尝试创建一个将字符串值映射到函数的映射.这是我创建的接口(如在Java 8中,但我不能使用它):interface Function<T, U> {U apply(T t); }现在,我创建了一个排序方法,根据一些属性对我的pojo进行排序:public <U extends Comparable<U>> void sortPojoBy(Function<Pojo, U> f) {Collections.sort(list, new Comparator<Book> () {@Overridepublic int compare(Pojo first, Pojo second) {return f.apply(first).compareTo(f.ap...

java – 在方法参数中强制执行泛型类型相等约束【代码】

请考虑以下代码示例:@SafeVarargs public static <U> Object[] sortedCopy(Comparator<? super U> comparator, U... values) {U[] copy = Arrays.copyOf(values, values.length);Arrays.sort(copy, comparator);return copy; //copy is implicitly cast to Object[] -> no heap pollution }public static <U> Object[] sortedCopy(U... values) {return sortedCopy(Comparator.naturalOrder(), values); //why does this compile?...

Java – 从字符串转换为泛型类型【代码】

在C#中我可以做这样的事情public static TConvertible ChangeType<TConvertible>(object value) where TConvertible : IConvertible{try{if (value == null)return default(TConvertible);return (TConvertible)Convert.ChangeType(value, typeof(TConvertible));}catch (System.FormatException){return default(TConvertible);}}有没有办法在java中做类似的事情?我正在使用android SharedPreferences并试图围绕它包装一个管理类...

java – 限制泛型类型【代码】

在Java中是否可以限制泛型类型< T>只有一些类型: >布尔值>整数>长>漂浮>字符串 ? 编辑:我的问题是限制泛型类型< T>到没有共同直接超类的不同类类型. 编辑:我终于使用了Reimeus提出的方案:public class Data<T> {private T value;private Data(T value) {this.set(value);}public static Data<Integer> newInstance(Integer value) {return new Data<Integer>(value);}public static Data<Float> newInstance(Float value) {re...

java – 返回具有泛型类型的接口时出错【代码】

我试图返回一个对象,该对象应该是IClass的一个实现,其泛型类型是IType的一个实现.public IClass<IType> createClass() {return new ActualClass(); }我想要返回的实际类扩展了Class(abstract),其泛型类型为ActualType:public class ActualClass extends Class<ActualType>抽象类对象实现IClass接口,并且可以具有扩展IType的任何类型public abstract class Class<T extends IType> implements IClass<T>ActualType只是实现了IType接...

java – 获取通用类型的泛型类型【代码】

如果我有public abstract class SomeType<T extends SomeOtherType> {}public class WrapperType<U extends SomeType<T>> {}有没有办法修改后一个签名(这是一个错误’无法解析符号“T”’),以便我可以在WrapperType中使用泛型类型,比如List< T>或类似的东西? (如果我使用错误的术语提出这个问题,我会很感激修正.)解决方法:一旦你意识到发生了什么,这很简单.您没有在类WrapperType的范围内定义T.使用至少与SomeType相同的边界声明它...

在Java中编写泛型类型【代码】

在我不期望的情况下,我遇到类型不匹配错误.public interface I {}public abstract class C {}public class A extends C implements I {}public class B extends C implements I {}public class Foo {public <T extends C & I> T getComposition(String selector) {switch (selector) {case "a": return new A(); // type-mismatch!case "b": return new B(); // type-mismatch!}}}为什么A,既是C又是我,不能作为T返回?解决方法:符号...

java – 如何确保这是我的类签名中引用的泛型类型?【代码】

假设我们有三个类 – AbstractMessage,AbstractEngine和AbstractAction.这三个类都以通用方式相互引用,因此每个Engine都有相应的消息和操作,您可以直接在代码中引用它们.public class MyMessage<M extends AbstractMessage<M,E,A>, E extends AbstractEngine<M,E,A>, A extends AbstractAction<M,E,A>> {这工作正常,但当我尝试在最高级别执行行为时,我遇到了一些问题.我的AbstractAction类有一个如此定义的applyTo方法:protected...

如何比较java中泛型类的泛型类型成员【代码】

我在java中编写泛型类时遇到了困难,其泛型成员可以进行比较. 以下是我编写的代码片段,但它给了我编译错误.public class TestClass <E extends Comparable<E>>{ private E data1; private E data2;public void fun(){if(data1 > data2){}}}它通过说compare(‘>’)操作无效给我错误.根据我的理解,如果我扩展Comparable,我应该能够进行此操作.解决方法:Java不是C,并且没有运算符重载.您需要使用由Comparable接口提供的.compareTo().例...

java – 泽西岛中泛型类型的编组【代码】

我需要返回几个结果和结果总数的客户列表.我必须在具有不同实体的几个地方这样做,所以我希望有一个具有这两个属性的泛型类:@XmlRootElement public class QueryResult<T> implements Serializable {private int count;private List<T> result;public QueryResult() {}public void setCount(int count) {this.count = count;}public void setResult(List<T> result) {this.result = result;}public int getCount() {return count;}...

java – 可以从构造函数参数的泛型类型推断泛型类型吗?【代码】

我很想知道一个类的泛型类型是否可以通过作为参数传递的另一个对象的泛型类型来定义? 我正在研究的是线程安全迭代器,因此多个线程可以安全地通过列表迭代,没有两个线程获得相同的对象.它的当前形式效果很好,但我认为它可以做得更好.import java.util.Iterator; public class AtomicIterator implements Iterator<Object> {private Iterator<?> it;public AtomicIterator(Iterable<?> iterable){it = iterable.iterator();}public ...

java – 如何使用参数创建泛型类型的实例【代码】

我有下课.public class SomeClass<T extends CustomView> { public void someMethod() {T t; // = new T(context) ...compile error!// I want instance of SomeType that have parameter(context) of constructor.t.go();} }我想用构造函数的参数创建泛型类型T的实例. 我尝试过TypeToken,Class< T>,newInstance等,但没有成功.我想要一些帮助.谢谢您的回答.解决方法:你有两个主要的选择. 反射 这种方式不是静态类型安全的.也就是说...

分配给泛型类型的Java原始类型值运行时getClss()方法错误【代码】

public class Box<T> {private T t;public Box(T t){this.t = t;}public void add(T t) {this.t = t;}public T get() {return t;}public static void main(String[] args) {Box<Integer> b = new Box(new String("may be"));System.out.println(b.get()); // successfully print out "may be"System.out.println(b.get().getClass()); // error} }此代码给出了运行时错误:exception in thread "main" java.lang.ClassCastExceptio...

具有泛型类型边界的Java Builder模式【代码】

我正在尝试使用Builder模式而不是telescoping构造函数创建一个包含许多参数的类.我是按照Joshua Bloch的Effective Java描述的方式做的,在封闭类上有私有构造函数,还有一个公共静态Builder类. Builder类在调用build()之前确保对象处于一致状态,此时它将封闭对象的构造委托给私有构造函数.从而public class Foo {// Many variablesprivate Foo(Builder b) {// Use all of b's variables to initialize self}public static final clas...