草庐IT

通用mapper

全部标签

java - 通用对象列表的 Guice 绑定(bind)

我需要告诉guice我想要一个OneFoo和一个TwoFoo作为Foo列表注入(inject)Bar的绑定(bind)语句是什么?这里的设置是一个责任链。现在我有两个实现,但Bar不需要知道。@InjectBar(Listfoos){...}...classOneFooimplementsFoo{@InjectOneFoo(...){...}...classTwoFooimplementsFoo{@InjectTwoFoo(...){...}但我正在努力使用类型、TypeLiteral等来配置将两个Foo实现提供给Bar的绑定(bind)。 最佳答案

Java 8 通用函数映射

不确定这是否可能;我承认我并不像我希望的那样擅长泛型。基本上,我想创建一个类->函数的映射其中用于键的类是函数输入的类,像这样(不合法的语法):publicstaticMap,Function>STUFF=newHashMap();{STUFF.put(List.class,ListExpression::new);STUFF.put(String.class,StringExpression::new);//thisconstructormusttakestring}所以如果我这样做:Functione=STUFF.get(o.getClass());Expressionex=e.a

java - 如何从通用对象调用实例方法?

假设我有一个arrayList包含不同类的项目,它们都具有相同的方法:draw();我有第三个类,其方法drawItems()将arrayList作为参数。现在,如果这些对象作为通用对象传递,我该如何调用这些对象的draw()方法?下面这个是行不通的。我明白为什么。Java不知道项目有这样的功能。我该如何解决这个问题?publicvoiddrawItems(ArrayListdata){data.forEach((Titem)->{item.draw();});}更新谢谢大家。我是这样做的:1)创建名为Drawable的接口(interface):publicinterfaceDraw

java - 如何在我的 Spring MVC Web 应用程序中为大多数请求运行通用代码?

即我使用SpringMVCRequestMapping映射了各种URL@RequestMapping(value="/mystuff",method=RequestMethod.GET)@RequestMapping(value="/mystuff/dsf",method=RequestMethod.GET)@RequestMapping(value="/mystuff/eee",method=RequestMethod.GET)等等我想在大约90%的请求之前运行一些常见操作。这些跨越多个Controller。有没有办法在不深入研究AOP的情况下做到这一点?如果我必须使用方面,是否有关

java - 用于关闭 JDBC 对象的通用助手

强烈建议在使用完JDBC对象(连接、语句、结果集)后关闭它们。但是,这会产生大量这样的代码:Connectionconn=null;Statementstm=null;ResultSetres=null;try{//Obtainconnection/statement,getresults,whatever...}catch(SQLExceptione){//...}finally{if(res!=null){try{res.close();}catch(SQLExceptionignore){}}if(stm!=null){try{stm.close();}catch(SQLExce

java - 反序列化 Gson 中的通用列表

我想写一个泛型函数,它用Gson反序列化一个泛型类型列表这是代码:privateListGetListFromFile(Stringfilename){//ReadtextfileBufferedReaderreader;Stringdata="";try{reader=newBufferedReader(newFileReader(filename));data=reader.readLine();reader.close();}catch(FileNotFoundExceptionex){}catch(IOExceptionex){}if(data==null){ListSpiel

Java 通用类型变量

我的问题是关于泛型类和方法中使用的类型变量。为什么我们不能做这样的事情T=newT();或者换句话说,为什么我们不能构造变量类型的对象?我知道通用信息在编译时被删除,一切都转换成对象,那么为什么编译器不假定T是一个对象并让我们构造它呢? 最佳答案 问题在于,在运行时JVM不知道T实际代表哪个类(该信息不会在运行时保留,这就是“类型删除”的意思)。因此,JVM只看到您想要构造一个新的T,但不知道实际调用哪个构造函数-因此这是不允许的。有变通办法,但不会像您建议的那样工作。whydoesn'tthecompilerassumethatT

java - 如何在 Java 中为 Solr 创建通用日期格式化程序?

我有一个要求,在将日期索引到Solr之前,可以按以下格式传递日期。以下是传递日期的示例StringdateStr="2012-05-23T00:00:00-0400";StringdateStr1="May24,201204:57:40GMT";StringdateStr2="2011-06-21";标准的Solr格式是"yyyy-MM-dd'T'HH:mm:ss'Z'"。我尝试过SimpleDateFormat,但无法编写支持各种格式的通用程序。它最终抛出解析异常。我也试过joda时间,但到目前为止在UTC转换方面还没有成功。publicstaticStringtoUtcDate(f

java - 如何在 java 中创建一个通用的单例类?

我想在java中创建一个通用的单例类,女巫给出了我在方法参数中传递的类的单例对象。像下面的代码:请帮忙publicfinalclassListener{privateListener(){}publicstaticListenergetInstance(Classclazz){returnSingletonHolder.INSTANCE;}privatestaticclassSingletonHolder{publicstaticfinalListenerINSTANCE=newListener();//privatestaticfinalMap,ListenerINSTANCE=ne

java - 通用限制 hell : Bound Mismatch

我正在从事一个项目,该项目具有广泛的通用继承和依赖关系树。转到编辑以查看更好的示例。基础看起来像这样:classA{...}classB{...}classCextendsB{...}classDextendsA{...}classStringMap{HashMap_elements;...}所以现在我要编写一个包含特定StringMap的类类型。classX{StringMap>_thing=newStringMap>;...}目前一切正常。D实际上是一个很长的名称,并且特定组合将在代码的其他部分中非常频繁地出现,所以我决定为特定组合创建一个类,这样它会更清晰并且名称更短。class