问题列表 - 第42080页

如何获取间接实现的通用接口的实际类型参数?

我有一个参数化的界面,以多种不同的方式实现.在运行时,我需要弄清楚,给定一个实现该接口的任意对象,接口的实际类型参数是什么.

这是一个解释问题的片段,以及解决问题的中途尝试(也在ideone.com上):

import java.util.*;
import java.lang.reflect.*;

interface Awesome<X> { }
class Base<E> implements Awesome<Set<E>> { }
class Child extends Base<List<Integer>> { }

class AwesomeExample {      
    public static void main(String[] args) {
        Awesome<Set<List<Integer>>> x = new Child();

        System.out.println(
            ((ParameterizedType)
                Child.class.getGenericSuperclass()
            ).getActualTypeArguments()[0]
        );
        // prints "java.util.List<java.lang.Integer>"

        System.out.println(
            ((ParameterizedType)
                Base.class.getGenericInterfaces()[0]
            ).getActualTypeArguments()[0]
        );
        // prints "java.util.Set<E>"        

        investigate(x);
        // we want this to print "Set<List<Integer>>"
    }

    static void investigate(Awesome<?> somethingAwesome) {
        // how to do this?
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来在运行时有足够的泛型类型信息来推断:

  • Child extends Base<List<Integer>>
  • Base<E> …

java generics reflection interface

7
推荐指数
1
解决办法
3722
查看次数

使用DjVu工具进行背景/前景分离?

我最初正在研究开发自己的背景去除算法,但看起来流行的文档格式DjVu有自己的前景/背景分离功能,如果我只能理解如何使用它.

引用DjVu文档:

DjVu有3种基本的"模式":

  1. DjVuText - 黑白(双色)文档
  2. DjVuPhoto - 连续色调图像,如照片,扫描图形艺术等.
  3. DjVuLayered - 彩色文档,如杂志,目录,历史文档等.

使用DjVuLayered模式压缩到DjVu 将生成30KB到100KB之间的文件,其中5到40KB将用于前景层,其余用于背景和图片.

对于软件集成:

DjVuLibre包括一个独立的查看器,一个浏览器插件(用于Mozilla,Firefox,Konqueror,Netscape,Galeon和Opera),以及命令行工具(解码器,编码器,实用程序).

有关如何使用DjVu工具分离给定扫描文档的背景和前景的任何想法?

automation background document image image-processing

5
推荐指数
1
解决办法
1646
查看次数

Dia用于专业UML建模

Dia是用于UML建模的优秀开源工具.我目前正在使用它绘制ER图.但Dia Dia的主页有关于Dia" Dia受到商业Windows程序'Visio'的启发,尽管更多是针对休闲用途的非正式图表".Dia是非常光滑的工具,我用它来为我的数据库模式设计ER图,但上面的描述与我对Dia的看法相矛盾.专业ER和休闲ER ??是否有任何设定标准.ER只是一个符号,我们的理解不是它或我错过了什么?

uml entity-relationship dia

2
推荐指数
1
解决办法
1669
查看次数

如何在Neo4j中找到特定节点

如何使用Neo4j API找到特定节点.当我审阅文档时,我得到了一些代码来获取所有节点但是如果我有一个名为"XYZ"的节点,我想知道如何只获取该特定节点.

java graph neo4j

5
推荐指数
1
解决办法
4997
查看次数

通过AJAX发布时字符编码错误

我有一个带有一些编码问题的Struts2应用程序.我的JSP页面显示2个表单; 当我发送第一个(一个简单的常规表单,重新加载整页),非标准字符,如áñ正确发送和显示.然而,当我做的第二形式(其通过AJAX发送)是相同的,该数据被破坏(Ãí,Ã!等等).

main.jsp中:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    ...
    <s:head theme="ajax"/>
</head>
<body>
    <!-- This form is sent via regular HTTP request -->
    <s:form theme="simple" enctype="multipart/form-data">
        <s:textfield key="field1" name="var1"/>
        <s:submit key="send" action="SAVE_ACTION"/>
    </s:form>
    <div id="ajaxContainer">
         <jsp:include file="ajax-part.jsp"/>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Ajax的part.jsp

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" …
Run Code Online (Sandbox Code Playgroud)

ajax dojo encoding struts2 utf-8

3
推荐指数
1
解决办法
8994
查看次数

XMLSerializer的构造函数中发生了第一次机会异常

可能重复:
XmlSerializer在构造函数中给出FileNotFoundException

当我使用XMLSerializer时,我收到了第一次机会异常,

XMLSerializer xml = new XMLSerializer(typeof(A))
Run Code Online (Sandbox Code Playgroud)

mscorlib.dll中出现"System.IO.FileNotFoundException"类型的第一次机会异常

附加信息:无法加载文件或程序集'A.XmlSerializers,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.

没关系,但调试时很烦人.是什么原因?

.net c# xml serialization

4
推荐指数
1
解决办法
8042
查看次数

将c-struct放入NSArray的最佳方法是什么?

存储c结构的常用方法是NSArray什么?优点,缺点,内存处理?

值得注意的是,有什么之间的区别valueWithBytesvalueWithPointer -由Justin和鲶鱼下面提出.

这是 Apple valueWithBytes:objCType:对未来读者讨论的链接 ......

对于一些横向思考和更多关注性能,Evgen提出了STL::vectorC++中使用的问题.

(这引发了一个有趣的问题:是否有一个快速的c库,不是STL::vector很轻,但更轻,允许最小的"整理数组处理"......?)

那么原来的问题......

例如:

typedef struct _Megapoint {
    float   w,x,y,z;
} Megapoint;
Run Code Online (Sandbox Code Playgroud)

那么:在一个NSArray成语中存储一个人自己的结构的正常,最好,惯用的方式是什么?你如何处理那个成语中的记忆?

请注意,我特意寻找存储结构的通常习惯用法.当然,人们可以通过创建一个新的小班来避免这个问题.但是,我想知道实际将结构放入数组的常用习惯,谢谢.

顺便说一句,这可能是NSData的方法吗?不是最好的......

Megapoint p;
NSArray *a = [NSArray arrayWithObjects:
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
        nil];
Run Code Online (Sandbox Code Playgroud)

BTW作为参考点,感谢Jarret Hardie,以下是如何存储CGPoints和类似的NSArray:

NSArray *points = [NSArray arrayWithObjects:
        [NSValue valueWithCGPoint:CGPointMake(6.9, 6.9)],
        [NSValue valueWithCGPoint:CGPointMake(6.9, 6.9)],
        nil];
Run Code Online (Sandbox Code Playgroud)

(请参阅如何以简单的方式将CGPoint对象添加到NSArray?)

iphone cocoa struct objective-c nsarray

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

无法裁剪大图像

我的应用程序需要打开图库并选择要裁剪的图像.我将目标大小设置为值(87%*screenWide).现在,出现了问题.在大屏幕设备中,图库无法返回裁剪后的图像,日志显示"!!! FAILED BINDER TRANSACTION !!!".在大多数设备中,没关系.

任何人都可以帮我吗?谢谢!

我使用Intent.ACTION_GET_CONTENT来裁剪,并设置outputX,outputY等.裁剪图像的例行程序.

android image crop

4
推荐指数
2
解决办法
3924
查看次数

Ninject缓存一个注入的DataContext?生命周期管理?

我的存储库中抛出了一系列非常奇怪的错误.未找到或更改行,2个更新中的1个失败...没有任何意义.

好像我的DataContext实例正在被缓存......没有任何意义,我正在考虑职业生涯.

然后我注意到使用Ninject使用依赖注入传递了DataContext实例(这是我第一次使用DI ...).我撕掉了依赖注入,一切都恢复了正常.即刻.

所以依赖注入是个问题,但我仍然不知道为什么.我猜测Ninject正在缓存注入的DataContext.

它是否正确?

编辑:

Ninject绑定如下:

Bind<IPupilBlockService>().To<SqlPupilBlockService>()
   .WithConstructorArgument("db", new dbDataContext());
Run Code Online (Sandbox Code Playgroud)

datacontext lifecycle dependency-injection ninject

5
推荐指数
1
解决办法
4220
查看次数

如果Xcode显示警告,是否会从App Store拒绝该应用程序?

如果我构建我的iPhone应用程序并且Xcode显示编译时警告,如果我将其提交到App Store,它会被拒绝吗?

iphone xcode app-store

7
推荐指数
1
解决办法
3000
查看次数