小编ipa*_*lic的帖子

杰克逊将""反序列化为空列表

我有一个JSON字符串,用于标记空列表""而不是[].所以例如,如果我有一个没有子节点的对象,我将收到一个这样的字符串:

{"id":13, "children":""}
Run Code Online (Sandbox Code Playgroud)

我想将它反序列化为Parent类,将子项正确设置为空子列表.

public class Parent {

    private Long id;
    private List<Child> children;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public List<Child> getChildren() {
        return children;
    }

    public void setChildren(List<Child> children) {
        this.children = children;
    }
}
Run Code Online (Sandbox Code Playgroud)

对于上述JSON字符串,我想一个对象,将其id设置为13,并children设置为一个new ArrayList<Child>()

Parent
    id <- 13
    children <- new ArrayList<Child>()
Run Code Online (Sandbox Code Playgroud)

我会知道如何为整个班级使用注释

@JsonDeserialize(using = ParentDeserializer.class)
public class Parent { 
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后

public …
Run Code Online (Sandbox Code Playgroud)

spring json jackson deserialization

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

如何使用 Apache POI 延迟读取大 Excel 2007 文件

我想使用 Apache POI 读取一个大的 Excel 2007 文件。快速入门指南指出File应该使用 a 来节省内存。

打开工作簿(.xls HSSFWorkbook 或 .xlsx XSSFWorkbook)时,可以从文件或输入流加载工作簿。使用 File 对象可以降低内存消耗,而 InputStream 需要更多内存,因为它必须缓冲整个文件。

因此我写了这样的内容:

opcPackage = OPCPackage.open(file);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
XSSFSheet sheet = workbook.getSheetAt(0);
rows = sheet.rowIterator();
if (rows.hasNext()) {
Row row = rows.next();
    System.out.println(row.getCell(1).getStringCellValue());
}
Run Code Online (Sandbox Code Playgroud)

然而,这会导致java.lang.OutOfMemoryError: Java heap space工作表的行数超过大约 10000 行。

我希望迭代仅延迟加载那些要读取的行,就像流一样。

如何解决大型 Excel 文件的内存问题?我可以使用 Apache POI 进行懒惰阅读吗?

memory lazy-evaluation apache-poi

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

用 Javascript 日期显示星期几

我正在使用下面的代码来显示未来 7 天的日期。但是,此 javascript 代码按 mm/dd/yyyy 格式化日期。

我想修改下面的 javascript 代码,让它显示星期几而不是11 月 1 日星期五

我不需要它来显示年份。

任何帮助将不胜感激,因为我很难过。

<script>
var myDate=new Date();
myDate.setDate(myDate.getDate()+7);
var n=myDate.toLocaleDateString();
document.write(n);
</script>
Run Code Online (Sandbox Code Playgroud)

javascript

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

角度1.5的组件通信

Angular 1.5组件通信建议通常具有输出绑定以调用根控制器上的方法.

假设我有一个根组件和两个子组件.

<root>
    <child-1></child-1>
    <child-2></child-2>
</root>
Run Code Online (Sandbox Code Playgroud)

它想通过读取组件2上的值然后在根目录中执行某些操作来对组件1上的按钮单击做出反应.

例如,child-1是一个包含绘图库的指令,该绘图库将绘图附加到其DOM节点并具有控制该绘图的变量.

child-2有一个按钮.单击它时,child-1应将变量中的数据传递给root,后者会对其执行某些操作.

特别是,child-1包裹var graph2d = new vis.Graph2d(container, dataset, options);.稍后,我想从中检索一些信息graph2d并将其传递给它root做一些事情.

这归结为:组件如何对其他组件发出的事件做出反应?输入和输出建议似乎不包括这种情况.

javascript custom-component angularjs angularjs-directive

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

如何在AngularJS视图中实现条件逻辑

我有一个带物品的控制器.假设我想在表格中显示项目,如果有任何项目.如何在"视图"中实现这样的逻辑?

mvvm angularjs

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

Classloader如何确定它可以加载哪些类?

我正在阅读Java中的类加载.

动机

假设我们有一个看起来像这样的类加载器层次结构,我理解加载的类First不能由加载的类直接访问Second(反之亦然).

 Bootstrap
     |
   System
     |
   Common
   /    \
First Second
Run Code Online (Sandbox Code Playgroud)

我也理解一个类加载器检查它的父类加载器是否可以加载该类,如果是这种情况,则将加载委托给它的父类.

类加载器如何确定它们是否可以加载某个给定的类?

java classloader

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

使用iText获取行位置

如何找到iText文档中的行位置?

假设我在PDF文档中有一个表格,并想要阅读其内容; 我想找到细胞所在的位置.为了做到这一点,我想我可能会找到线的交叉点.

itext

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

字节码注入在哪里发生?

动机

我有一个SomeObject.java文件:

class SomeObject {
   String name;
}
Run Code Online (Sandbox Code Playgroud)

编译它会创建一个包含字节码的SomeObject.class文件.

0xCAFEBABE...
Run Code Online (Sandbox Code Playgroud)

如果我们在JVM上使用SomeObject,它将由当前的类加载器加载,并且一切正常.

现在让我们假设我想要一些动态代码生成.我可以写我的自定义注释

@Target(ElementType.TYPE)
public @interface Data {
   ...
}
Run Code Online (Sandbox Code Playgroud)

并将其作为修饰符添加到类声明中:

@Data
class SomeObject {
   String name;
}
Run Code Online (Sandbox Code Playgroud)

我也可以在运行时保留它@Retention(RetentionPolicy.RUNTIME):

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Data {
   ...
}
Run Code Online (Sandbox Code Playgroud)

用于字节码注入的注释在哪里?在使用适当的运行时保留注释加载类时,类加载器是否会注入字节码,如下图所示:

source -(compile)-> bytecode -(classloader bytecode injection)-> injected bytecode -(classloading)-> JVM loaded bytecode   
Run Code Online (Sandbox Code Playgroud)

annotations bytecode classloader bytecode-manipulation

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

backbone.js如何与CoffeeScript一起使用?

使用CoffeeScript编写backbone.js应用程序是否存在任何固有问题?您是否遇到了一些无法解决的问题或者必须使用一些特别笨重的解决方法?

integration coffeescript backbone.js

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