小编ICR*_*ICR的帖子

使用jaxb进行marshelling时使用派生类

我有一个具有公共基类的对象列表,我试图使用jaxb将其序列化为XML.我希望在编组时使用派生类的注释,但是我很难到达那里.

import java.util.Arrays;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlRootElement;


public class Runner {
    @XmlRootElement(name="base")
    public static abstract class Base {
        public int baseValue;

        public Base() {
            this.baseValue = 0;
        }
    }

    @XmlRootElement(name="derived")
    public static class Derived extends Base {
        public int derivedValue;

        public Derived() {
            super();
            this.derivedValue = 1;
        }
    }

    @XmlRootElement(name="derived2")
    public static class Derived2 extends Base {
        public int derivedValue;

        public Derived() {
            super();
            this.derivedValue = 1;
        }
    }

    @XmlRootElement(name="base_list")
    public static class BaseList …
Run Code Online (Sandbox Code Playgroud)

java jaxb

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

在特定树编码中获取从根到叶的路径

我有一棵树代表 Set<Integer>[]

以下内容Set<Integer>[]:

[ { 1 }, { 2, 3 }, { 4 }, { 5, 6, 7 } ]
Run Code Online (Sandbox Code Playgroud)

代表以下树:

      1
     / \
    /   \
   /     \
  2       3
  |       |
  4       4
 /|\     /|\
5 6 7   5 6 7
Run Code Online (Sandbox Code Playgroud)

因此,树中的每个级别都被编码为a Set.树中特定级别的所有子集都是相同的.第一组中可以有多个整数.

我想从中获取Set<Integer>[]从root到leaves的所有路径的列表:

[ [ 1, 2, 4, 5 ], [ 1, 2, 4, 6 ], [ 1, 2, 4, 7 ], [ 1, 3, 4, 5 ], [ 1, 3, 4, 6 …
Run Code Online (Sandbox Code Playgroud)

java tree data-structures

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

在DI框架中从"上帝"对象中提取依赖关系

我有一个拥有大量现有代码的Servlet.我正在尝试将依赖注入添加到其中的一部分.目前我手动完成:

public class AdjustBookPriceHandler extends BookRequestHandler {
    @Override
    public void handleRequest(RequestState requestState, RequestData requestData, Object obj) {
        Book book = (Book) obj;
        long newPrice = Long.parseLong(requestData.getQueryParam("price");
        OfferRepository offerRepository = ((BookData) requestState.getData()).getOfferRepository();

        BookPriceAdjuster priceAdjuster = getBookPriceAdjuster();
        priceAdjuster.adjustPrice(newPrice);
    }

    protected BookPriceAdjuster getBookPriceAdjuster(RequestState requestState, RequestData requestData, Book book) {
        return new BookPriceAdjuster(book, offerRepository);
    }
}
Run Code Online (Sandbox Code Playgroud)

这里通过构造函数将书和提供存储库依赖项注入BookPriceAdjuster.getBookPriceAdjuster方法允许从AdjustBookPriceHandler继承的类提供不同的价格调整器.

我想开始使用像Guice这样的DI框架来减少复杂示例所引入的一些样板代码.但是,我不确定在这种情况下使用它的最佳方法.

如何编写从"神"对象RequestState和RequestData中提取相关依赖关系的绑定?或者在这一点上使用框架就像复杂和混乱一样?

java dependency-injection guice god-object

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

将合格的非静态成员函数作为函数指针传递

我在外部库中有一个函数,我无法使用以下签名进行更改:

void registerResizeCallback(void (*)(int, int))
Run Code Online (Sandbox Code Playgroud)

我想传递一个成员函数作为回调,因为我的回调需要修改实例变量.

显然,这是不可能的简单:

registerResizeCallback(&Window::Resize);
Run Code Online (Sandbox Code Playgroud)

所以我不确定如何解决这个问题.

c++

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

从基础创建Uri而不尾随斜杠和相对部分

我遇到了Uri构造函数的问题.基线路径是否以斜线结束的结果不同.

var baseWithSlash = new Uri("c:\\Temp\\");
var baseNoSlash = new Uri("c:\\Temp");

var relative = "MyApp";

var pathWithSlash = new Uri(baseWithSlash, relative);  // file:///c:/Temp/MyApp
var pathNoSlash = new Uri(baseNoSlash, relative);      // file:///c:/MyApp
Run Code Online (Sandbox Code Playgroud)

第一个结果是我期望的结果,即使基本路径中没有斜线也是如此.

我的主要问题是基本路径来自用户输入.

即使用户指定的路径没有尾随斜杠,获得正确结果的最佳方法是什么?

.net uri

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

是否可以在bool上使用Object Initializers?

是否可以使用对象初始化器在一行中执行以下操作(例如初始化bool数组并将所有元素设置为true)?

int weeks = 5;
bool[] weekSelected = new bool[weeks];
for (int i = 0; i < weeks; i++)
{
    weekSelected[i] = true;
}
Run Code Online (Sandbox Code Playgroud)

我无法让它发挥作用.


编辑:我应该提到我使用VS2008与.NET 2.0(所以Enumerable将无法正常工作).

c# object-initializers visual-studio-2008 .net-2.0

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

指定jar的类路径

我正在尝试配置JAR的类路径,以便我的ResourceBundle可以从中获取属性文件.

如果我从.class文件运行它并指定-cp标志它工作正常,System.err.println(System.getProperty("java.class.path"));并将打印-cp标志中指定的路径.

如果我尝试为它创建一个jar文件,则System.err.println(System.getProperty("java.class.path"));始终打印jar文件的路径,并且不会拾取属性文件.

看来如果你将它作为一个jar文件运行,你就无法指定-cp标志(这是我所希望的,因为切换正在使用的属性文件是很常见的).我已经尝试在jar清单中指定它,但它仍然无法正常工作.

以下是测试jar中的代码和清单,似乎不起作用:

public final class Test {
    public static void main(final String[] args) {
        System.err.println(System.getProperty("java.class.path"));
    }
}
Run Code Online (Sandbox Code Playgroud)

 

Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: Test
Class-Path: /home/ajanuary/Projects/test/
Run Code Online (Sandbox Code Playgroud)

编辑 原始路径没有意义,所以我改变了它.我想指向ResourceBundle可以在其中找到属性文件的目录.

java jar classpath

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

File.lastModified值总是会增加吗?

我正在尝试监视文件以查找在Windows或Linux上运行的Java的更改.

目前,我正在研究轮询文件的最后修改属性,而不是挂钩到OS文件事件,以避免处理平滑API差异和处理异步事件.

我存储了new File("path").lastModified()一旦我处理完文件并lastModified每秒比较新结果的结果x.

我能否依赖这样一个事实:假设没有犯规并且有人手动修改时间戳,lastModified将永远增加?Java文档说这是GMT时代的偏移,所以即使进行时区调整,它也不会倒退?

java timezone datetime last-modified

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

在"Windows"类别下创建Visual Studio模板.

我已经为Visual Studio 2008创建了一个模板,它目前显示在File-> New Project-> Visual C#下.但是,它只是特定于Visual C#/ Windows,但我无法弄清楚如何让它在"Windows"类别下显示,而不是更通用的"Visual C#".

templates visual-studio

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

创建后与jQuery插件对象交互

我有一个自动收报机,使用轮询更新项目.我为自动收录器编写了一个简单的jQuery插件,它被调用如下:

$("#cont ul").ticker();
Run Code Online (Sandbox Code Playgroud)

这会将ul变成一个自动收报机,滚动浏览li.要添加新项目,我必须将lis添加到ul,这可以正常工作.但是,我的OO希望我可以在ticker对象上有一个addItem函数.但是,我不想失去jQuery使用的可链接性.

是否有一些方法比将ul添加到列表中更明显但是这与jQuery的处理方式相符?

javascript jquery

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

三列结构布局,左右列有多个div

我有一些看起来像这样的HTML:

<body>
    <div id="panel1" class="panel"> Panel 1 </div>
    <div id="panel2" class="panel"> Panel 2 </div>
    <div id="panel3" class="panel"> Panel 3 </div>
    <div id="panel4" class="panel"> Panel 4 </div>
    <div id="panel5" class="panel"> Panel 5 </div>
    <div id="panel6" class="panel"> Panel 6 </div>
    <div id="panel7" class="panel"> Panel 7 </div>
    <div id="contentheader"> Header </div>
    <div id="content"> Content </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我想要的是一些面板(比方说1-4)在左边浮动,其他面板(5-7)浮在右边,头部和内容在两者之间浮动,理想情况下无需包裹包装div中的左右面板.

html css

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

For-each循环变量

ob在以下代码中的含义是什么 - 与item相同?

foreach (var item in allItems)
{
    if (excludeItems.Exists(ob => ob.Equals(item)))
    {
        Console.WriteLine("Item {0} excluded",item);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# for-loop

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

Number的最大整​​数范围

我们在Actionscript 3中使用大整数进行一些数学运算.因为没有long类型,我们正在使用Number.

Number在开始转向浮点错误之前,a 能够准确表示的连续整数范围(正到负)是多少?

actionscript-3

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