这可能是一个简单的问题,但是我的第一次尝试完全失败了.我想取一个原始long的数组并将其转换为一个列表,我尝试这样做:
long[] input = someAPI.getSomeLongs();
List<Long> inputAsList = Arrays.asList(input); //Total failure to even compile!
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
我开始使用git-svn的克隆操作克隆SVN存储库.导入大约6个小时后(这是一个很大的回购),我的电脑就睡着了.有没有办法在不重做所有初始工作的情况下恢复操作?
我需要指定一个OutputStream我正在使用的API,但我实际上并不需要输出.Java有OutputStream相当于> /dev/null?
我正在将我的Subversion存储库从一台机器移动到另一台机器.我在各种机器上有一些零散的工作副本,我发现我可以使用以下命令轻松地将工作副本从旧服务器切换到新服务器:
svn --relocate svn://oldServer/repo svn://newServer/repo
Run Code Online (Sandbox Code Playgroud)
但是,在我的一台机器上,我使用Eclipse和Subclipse,我不喜欢在Eclipse项目中使用命令行SVN.我的问题是是否可以使用Subclipse或Subversive从Eclipse中切换SVN存储库.
所以,我注意到我绝对倾向于模式化我的Spring/Hibernate堆栈对象,如下所示:
这里的问题是Foos没有任何真正的逻辑.例如,如果每次Foo到期时都需要发送电子邮件,则不会调用Foo.expire().有一个对FooService.expireFoo(fooId)的调用.这有以下几种原因:
因此,出于这些原因,我的Spring域对象往往是带有一些验证逻辑的美化结构.也许这没关系.也许Web服务可以作为程序代码.也许随着新功能的编写,创建以新方式处理相同旧对象的新服务是可以接受的.
但是我想摆脱这种设计,我想知道其他Spring使用的是什么呢?你是否用装载时编织等花哨的技巧来对抗它(我觉得不舒服)?你有其他的伎俩吗?你认为程序是好的吗?
如果我在HTML中执行类似这样的操作,是否有一个受到良好支持的常见行为:
<form method="get" action="/somePage.html?param1=foo¶m2=foo">
<input name="param2"></input>
<input name="param3"></input>
</form>
Run Code Online (Sandbox Code Playgroud)
似乎这种事情本质上是荒谬的,但我已经看到它在这里和那里使用,我想知道地球上预期的行为应该是什么.浏览器是否足够聪明,可以在操作中使用"¶m2 = whatever¶m3 = whatever",还是仅仅提出第二个问号?或者是什么?有没有这种情况实际上是正确的做事方式?
我正在使用Jackson ObjectMapper将一些JSON反序列化为Java类,我们将其称之为PlayerData.我想在类中添加一些逻辑来在PlayerData加载字段后修复一些数据.例如,一些早期的JSON文件用于使用"性别"标志而不是"性别"标志,所以如果性别标志已设置但性别标志未设置,我想将性别字段的值设置为性别字段的值.
是否有某种@PostConstruct或@AfterLoad注释可以粘贴到方法中?或者也许是我可以实现的界面?我没有注意到文档中的一个,但它似乎是一个显而易见的功能.
使用Spring MVC,您可以指定特定URL将由特定方法处理,并且您可以指定特定参数将映射到特定参数,如下所示:
@Controller
public class ImageController {
@RequestMapping("/getImage")
public String getImage( @RequestParam("imageId") int imageId, Map<String,Object> model ) {
model.put("image",ImageService.getImage(imageId));
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但现在我想测试带有imageId参数的http请求将正确调用此方法.换句话说,如果我删除或更改任何注释,我想要一个会破坏的测试.有没有办法做到这一点?
很容易测试getImage是否正常工作.我可以创建一个ImageController并使用适当的参数调用getImage.但是,这只是测试的一半.测试的另一半必须是当适当的HTTP请求进入时,Spring框架是否会调用getImage().我觉得我还需要对此部分进行测试,特别是当我的@RequestMapping注释变得更复杂并调用复杂参数时条件.
如果我删除第4行,你能告诉我一个测试会破坏@RequestMapping("getImage")吗?
我正在开发一个可以发生各种事件的小型Java游戏.至少有几十个基本事件,各种事件处理程序可能会感兴趣.代码中还有几个地方可能会触发这些事件.我不想强迫事件监听器知道他们需要注册哪个类,而是想创建某种集中式的消息调度系统,有些类会将事件提交到,感兴趣的类可以挂钩来监听某些类型事件.
但我有一些问题.首先,这似乎是一个明显而常见的问题.是否有简单的虚拟机内消息系统的最佳实现?好像会有.
其次,更重要的是,我正在尝试为调度类找出一种相当优雅的方式来尽可能少地了解消息的类型.我希望能够在不修改消息调度程序的情况下创建新类型的事件.但是,我有一个相反的担忧.我真的很喜欢处理方法的方法签名要清楚.换句话说,我更喜欢以下内容:
public class CollisionConsoleHandler implements CollisionListener {
@Override
public void spaceshipCollidedWithMeteor( Spaceship spaceship, Meteor meteor ) {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
更通用,更难阅读的东西:
public class CollisionConsoleHandler implements GameMessageListener {
@Override
public void handleMessage( GameMessage message ) {
if( message instanceof SpaceshipCollisionMessage ) {
Spaceship spaceship = ((SpaeshipCollisionMessage)message).getSpaceship();
Meteor meteor = ((SpaeshipCollisionMessage)message).getMeteor();
//...
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是我没有看到任何好的方法将类型特定的知识保留在调度程序之外,同时保持方法签名的清晰和可读性.
想法?
我正在寻找一种方法来使用Oracle数据库进行BITOR()并且遇到了一个建议,只需使用BITAND()代替BITOR(a,b)替换为+ b - BITAND(a,b).
我用手测试了几次并验证它似乎适用于我能想到的所有二进制数,但我无法想出为什么这是正确的快速数学证明.
有人可以开导我吗?