草庐IT

add_generic

全部标签

Java Generics - 类本身的子类?

我目前正在阅读JavaGenerics,当涉及到通配符时我有点卡住了。我从Collections类中得到了这个方法:publicvoidcopy(Listdest,Listsrc){for(inti=0;i然后我被告知可以像这样调用方法:Listobjs=newArrayList();Listints=newArrayList();Collections.copy(objs,ints);由于类型参数已经交由编译器决定,书上说编译器选择类型参数为Integer。但这怎么可能呢?如果取为Integer,这意味着在方法声明中-List将转换为List.这是一个错误,还是关于泛型有不同的规则?

java - Eclipse for Java 中的 "unavoidable generic type problems"是什么?

在“错误/警告”面板中设置Java编译器的首选项时,Eclipse可以配置为“忽略不可避免的泛型类型问题”。Java中这种“不可避免”的泛型类型问题是什么?忽略这些安全吗?它们什么时候出现? 最佳答案 来自thedocumentation特征:Whenenabled,thecompilerwillissueanerrororawarningevenwhenitdetectsagenerictypeproblemthatcouldnothavebeenavoidedbytheprogrammer.Asanexample,atypema

Java 泛型 : method signature for (deep copy of) generic Maps

我有一些Map,它们本身又可能包含Map(任何类型)。我写了一个带有签名的方法:publicstaticHashMapdeepCopyHashMap(HashMaps);但是,我现在想概括此代码以支持一般的Map,但仍会返回与参数类型相同的对象。所以不是:publicstaticHashMapdeepCopyHashMap(HashMaps);publicstaticCheckedMapdeepCopyCheckedMap(CheckedMaps);publicstaticTreeMapdeepCopyTreeMap(TreeMaps);...etc.我想要这样的东西:publicst

Java 泛型 : chaining together generic function object

我一直在努力解决以下问题。我有一系列函数对象,每个函数对象都有自己的输入和输出类型,这些类型是通过java中的泛型类型参数定义的。我想将它们排列成一个链,以便将原始数据输入到第一个函数,转换为输出类型,这是下一个对象的输入类型,依此类推。当然,这对于硬编码来说是微不足道的,但我希望代码可以插入到新的函数对象中。如果我只是省略了类型参数(只有最终输出类型),这就是事情的样子:publicTprocess(){Iteratorit=source.provideData();for(Pipepipe:pipeline){it=pipe.processIterator(it);}returns

java - Jar 文件 ADD DIRECTORY ENTRIES 导出 jar 时的 Eclipse 选项

我不知道我是否在问正确的问题,但想消除我的疑问。其实我遇到过从jar文件引用类文件的场景。我的意思是说我有一个后端java项目,比如ABC,里面有application-context.xml文件。现在我创建了ABC项目的jar文件并在一个基于Web的应用程序中使用。在这里,我遇到了bean没有Autowiring的问题,后来才知道问题是,我用Eclipse导出ABC项目的jar文件时,没有选择“ADDDIRECTORYENTRIES”复选框,后来我做了并且全部工作。只是为了查看通过在jar文件中选中此框进行了哪些更改,以便一切正常,所以我创建了2个jar文件,一个选中了“ADDDIR

Java:JTabbedPane 的 "Add Tab Button"

是否可以像在firefox中那样将按钮添加到选项卡式Pane。加号按钮就是我想要的。谢谢 最佳答案 我认为您应该能够通过构建自己的JTabbedPaneUI并使用setUI在JTabbedPane上设置它来管理它。您的ComponentUI具有获取可访问子项的方法。如果您指定了一个JButton和一个JLabel,那么您可能正在做生意。虽然我自己还没有尝试过。这是“风险自负”:) 关于Java:JTabbedPane的"AddTabButton",我们在StackOverflow上找到一

java - Java 中的通配符 Generic 和 <? super T> 意思,下界或上界

所以我在阅读泛型方法时感到很困惑。先说一下这里的问题:在这个例子中:假设我需要一个适用于任何类型T的selectionSort版本,方法是使用调用者提供的外部可比较对象。第一次尝试:publicstaticvoidselectionSort(T[]arr,ComparatormyComparator){....}假设我有:定义车辆类别创建了实现Comparator的VehicleComparator,同时按价格比较车辆。创建卡车扩展车辆实例化卡车[]arr;车辆比较器myComparator现在,我做:selectionSort(arr,myComparator);它不会工作,因为my

java - 在 add() 上丢失最旧元素的集合

我正在寻找一个实现Collection的Java类,并且当我add()一个新元素时丢失最旧的元素,如果元素总数大于X.是否存在或我必须自己实现?我需要一个线程安全的。 最佳答案 如果您正在寻找列表类型的解决方案,除了Linkedhasmap之外,GoogleGuava还有EvictingQueue.为了线程安全,您必须将其包装在同步包装器(Queues#synchronizedQueue)中。EvictingQueueq=EvictingQueue.create(3);QueuesyncQ=Queues.synchronizedQu

java - "The type ArrayList is not generic"是什么意思?

我是Java的新手,正在努力学习程序员可以使用的各种集合。我将“java.util”导入到Eclipse的剪贴簿中并检查了以下代码。ArrayListlist=newArrayList();list.add("test1");list.add("test2");我收到此输出。ThetypeArrayListisnotgeneric;itcannotbeparameterizedwithargumentsSyntaxerror,parameterizedtypesareonlyavailableifsourcelevelis5.0ThetypeArrayListisnotgeneric;

java - Integers.add(Value Of(50))列表之间有什么区别?和 Integers.add(50) 列表;在 java

这两个代码有什么区别:ArraylistlistofIntegers=newArraylist();listofIntegers.add(666);System.out.println("FirstElementoflistofIntegers="+listofIntegers.get(0));和ArraylistlistofIntegers=newArraylist();listofIntegers.add(Integer.ValueOf(666));System.out.println("FirstElementoflistofIntegers="+listofIntegers.g