小编Der*_*har的帖子

如何使用泛型从Java中的List <?>转换为List <T>?

在Java中,如何转换List<?>List<T>使用通用方法,以便我可以使用单个方法调用替换以下模式:

List untypedList = new ArrayList();  // or returned from a legacy method
List<Integer> typedList = new ArrayList<Integer>();
for (Object item: untypedList)
    typedList.add((Integer)item);
Run Code Online (Sandbox Code Playgroud)

请注意,上面的代码不会生成任何类型安全警告,理想情况下,您的解决方案也不应生成任何此类警告.

如果列表Class<L>具有公共默认构造函数,以下解决方案是否可行?

public class ListUtil {
    public static <T, L extends List<T>> L typedList(List<?> untypedList, Class<T> itemClass, Class<L> listClass) {
        L list = null;
        try {
            list = listClass.newInstance();
        } catch (InstantiationException e) {
        } catch (IllegalAccessException e) {
        }
        for (Object item: untypedList)
            list.add(itemClass.cast(item));
        return list;
    }
}
Run Code Online (Sandbox Code Playgroud)

(注意listClass.newInstance() …

java generics list covariance

15
推荐指数
2
解决办法
2万
查看次数

Ansible如何在变量中"注册"包含剧本的结果?

一个变量中的Ansible剧本如何包含另一个剧本?register

例如,将以下寄存器执行的结果tasks/foo.ymlresult_of_foo

tasks:
  - include: tasks/foo.yml
  - register: result_of_foo
Run Code Online (Sandbox Code Playgroud)

Ansible如何记录任务序列的结果?

ansible ansible-playbook

15
推荐指数
2
解决办法
5万
查看次数

Scala AnyRef.clone执行浅或深拷贝吗?

在Scala中,是AnyRef.clone执行浅或深拷贝?

clone scala

13
推荐指数
1
解决办法
6001
查看次数

如何使用Docker Registry API V2从私有注册表中删除图像?

给定一个码头工人登记localhost:5000,我如何可以使用泊坞注册HTTP API V2卷曲删除busybox:latest具有以下清单头和清单:

derek@derekmahar-ubuntu-512mb-tor1-01:~/Projects/docker-registry$ curl --head --request GET http://localhost:5000/v2/busybox/manifests/latest
HTTP/1.1 200 OK
Content-Length: 2561
Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
Docker-Content-Digest: sha256:e45f25b1760f616e65f106b424f4ef29185fbd80822255d79dabc73b8eb715ad
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:e45f25b1760f616e65f106b424f4ef29185fbd80822255d79dabc73b8eb715ad"
X-Content-Type-Options: nosniff
Date: Wed, 04 May 2016 16:10:00 GMT

derek@derekmahar-ubuntu-512mb-tor1-01:~/Projects/docker-registry$ curl --request GET http://localhost:5000/v2/busybox/manifests/latest
{
   "schemaVersion": 1,
   "name": "busybox",
   "tag": "latest",
   "architecture": "amd64",
   "fsLayers": [
      {
         "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
      },
      {
         "blobSum": "sha256:385e281300cc6d88bdd155e0931fbdfbb1801c2b0265340a40481ee2b733ae66"
      }
   ],
   "history": [
      {
         "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"156e10b83429\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"sh\"],\"Image\":\"56ed16bd6310cca65920c653a9bb22de6b235990dcaa1742ff839867aed730e5\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"container\":\"5f8098ec29947b5bea80483cd3275008911ce87438fed628e34ec0c522665510\",\"container_config\":{\"Hostname\":\"156e10b83429\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) CMD [\\\"sh\\\"]\"],\"Image\":\"56ed16bd6310cca65920c653a9bb22de6b235990dcaa1742ff839867aed730e5\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"created\":\"2016-03-18T18:22:48.810791943Z\",\"docker_version\":\"1.9.1\",\"id\":\"437595becdebaaaf3a4fc3db02c59a980f955dee825c153308c670610bb694e1\",\"os\":\"linux\",\"parent\":\"920777304d1d5e337bc59877253e946f224df5aae64c72538672eb74637b3c9e\"}"
      },
      {
         "v1Compatibility": "{\"id\":\"920777304d1d5e337bc59877253e946f224df5aae64c72538672eb74637b3c9e\",\"created\":\"2016-03-18T18:22:48.262403239Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD …
Run Code Online (Sandbox Code Playgroud)

docker docker-registry

13
推荐指数
3
解决办法
2万
查看次数

深度克隆(复制)可变Scala对象的最简单方法是什么?

深度克隆(复制)可变Scala对象的最简单方法是什么?

clone scala

12
推荐指数
2
解决办法
8538
查看次数

Oracle分配给"count(*)"的SQL数据类型是什么?

Oracle count(*)在查询中分配的SQL数据类型是什么select count(*) from table?这取决于计数大小吗?

sql oracle sqldatatypes

12
推荐指数
1
解决办法
9654
查看次数

Spring Hibernate Template执行方法为Oracle上的计数查询返回什么对象类型?

当针对Oracle数据库运行时,以下Spring Hibernate Template(Spring 2.5和Hibernate 3.3.2GA)代码返回的对象的运行时类型是什么,SQL查询是一个计数查询,如select count(*) from table

 String sql = "select count(*) from table";
 BigDecimal count = (BigDecimal) hibernateTemplate.execute(
   new HibernateCallback() { 
    public Object doInHibernate(Session session) throws HibernateException {
     SQLQuery query = session.createSQLQuery(sql);
     return (BigDecimal) query.uniqueResult();
    }});
 return count;
Run Code Online (Sandbox Code Playgroud)

此代码抛出以下异常:

javax.ejb.EJBException: EJB Exception: : java.lang.ClassCastException: java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
    at org.hibernate.cache.StandardQueryCache.put(StandardQueryCache.java:83)
    at org.hibernate.loader.Loader.putResultInQueryCache(Loader.java:2185)
    at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2129)
    at org.hibernate.loader.Loader.list(Loader.java:2087)
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
    at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
    at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
    at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:150)
    at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:804)
    at com.db.abstrack.dao.hibernate.RfqCdoUsDaoHibernate$1.doInHibernate(RfqCdoUsDaoHibernate.java:124)
Run Code Online (Sandbox Code Playgroud)

java oracle spring types hibernate

11
推荐指数
2
解决办法
2万
查看次数

Spring bean容器<import>命令是否消除了重复的容器?

Spring bean容器<import>命令是否会消除重复的容器?例如,如果bean容器文件A导入B和C并且每个导入导入D,Spring是否会消除或忽略重复的D容器?

java spring ioc-container

11
推荐指数
1
解决办法
4224
查看次数

如何阻止Maven 2搜索远程存储库以获取特定的本地依赖?

如何阻止Maven 2搜索远程存储库以查找仅在本地存储库中的特定依赖项?

java maven-2 repository

10
推荐指数
1
解决办法
9060
查看次数

Spring中的FactoryModuleBuilder,@ AssistedInject和@Assisted相当于什么?

什么是Spring框架相当于FactoryModuleBuilder, @AssistedInject以及@Assisted谷歌吉斯?换句话说,使用Spring创建工厂对象的建议方法是什么,其方法接受应用程序(而不是容器)必须提供的参数?

Spring静态工厂方法不一样FactoryModuleBuilder. FactoryModuleBuilder构建一个Guice模块,生成实现工厂方法模式的 "工厂" .与Spring静态工厂方法不同,这些工厂对象的方法是实例方法,而不是静态方法.静态工厂方法的问题在于它是静态的并且不实现接口,因此不能用替代工厂实现替换它.FactoryModuleBuilder但是,不同的实例可以构建实现相同接口的不同工厂.

java spring guice

10
推荐指数
1
解决办法
1302
查看次数