我有一个具有公共基类的对象列表,我试图使用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) 我有一棵树代表 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) 我有一个拥有大量现有代码的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中提取相关依赖关系的绑定?或者在这一点上使用框架就像复杂和混乱一样?
我在外部库中有一个函数,我无法使用以下签名进行更改:
void registerResizeCallback(void (*)(int, int))
Run Code Online (Sandbox Code Playgroud)
我想传递一个成员函数作为回调,因为我的回调需要修改实例变量.
显然,这是不可能的简单:
registerResizeCallback(&Window::Resize);
Run Code Online (Sandbox Code Playgroud)
所以我不确定如何解决这个问题.
我遇到了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)
第一个结果是我期望的结果,即使基本路径中没有斜线也是如此.
我的主要问题是基本路径来自用户输入.
即使用户指定的路径没有尾随斜杠,获得正确结果的最佳方法是什么?
是否可以使用对象初始化器在一行中执行以下操作(例如初始化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将无法正常工作).
我正在尝试配置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可以在其中找到属性文件的目录.
我正在尝试监视文件以查找在Windows或Linux上运行的Java的更改.
目前,我正在研究轮询文件的最后修改属性,而不是挂钩到OS文件事件,以避免处理平滑API差异和处理异步事件.
我存储了new File("path").lastModified()
一旦我处理完文件并lastModified
每秒比较新结果的结果x
.
我能否依赖这样一个事实:假设没有犯规并且有人手动修改时间戳,lastModified将永远增加?Java文档说这是GMT时代的偏移,所以即使进行时区调整,它也不会倒退?
我已经为Visual Studio 2008创建了一个模板,它目前显示在File-> New Project-> Visual C#下.但是,它只是特定于Visual C#/ Windows,但我无法弄清楚如何让它在"Windows"类别下显示,而不是更通用的"Visual C#".
我有一个自动收报机,使用轮询更新项目.我为自动收录器编写了一个简单的jQuery插件,它被调用如下:
$("#cont ul").ticker();
Run Code Online (Sandbox Code Playgroud)
这会将ul变成一个自动收报机,滚动浏览li.要添加新项目,我必须将lis添加到ul,这可以正常工作.但是,我的OO希望我可以在ticker对象上有一个addItem函数.但是,我不想失去jQuery使用的可链接性.
是否有一些方法比将ul添加到列表中更明显但是这与jQuery的处理方式相符?
我有一些看起来像这样的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中的左右面板.
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) 我们在Actionscript 3中使用大整数进行一些数学运算.因为没有long
类型,我们正在使用Number
.
Number
在开始转向浮点错误之前,a 能够准确表示的连续整数范围(正到负)是多少?