我正在阅读一本关于JUnit的书,作者建议在tearDown方法中使资源归零.为什么?这不是GC的工作吗?它会严重伤害吗?
让我们想到这样的例子:
public class SomeTest extends TestCase {
Vector vector;
List<Object> list;
protected void setUp() {
vector = new Vector();
list = new ArrayList<Object>();
}
// messing with resources
// adding, deleting, testing whatever
protected void tearDown() {
vector = null;
list = null;
}
}
Run Code Online (Sandbox Code Playgroud)
你怎么看?tearDown中的代码是否必要?
我使用控制台作为管理mercurial存储库的工具.使用经典cmd或Console2我输入:
hg in
Run Code Online (Sandbox Code Playgroud)
并且控制台提示类似于:
D:\workspace\someproject>hg in
http authorization required
realm: Bitbucket.org HTTP
user: xorty
password:
Run Code Online (Sandbox Code Playgroud)
显然,我输入密码.
但是当我在powershell控制台中键入"hg in"时,它不会提示任何内容.它只是这样说:
Running script / selection. Press Ctrl + Break to stop
我可以使PowerShell ISE像经典控制台一样运行,或者这不是PowerShell的工作方式吗?
class Foo {
@Setter @Autowired private Bar bar;
}
Run Code Online (Sandbox Code Playgroud)
Spring将在这里使用现场注入.目前是否有任何方法告诉它使用二头瓶注射?
Float sum = new Float(300); // always somehow calculated
DecimalFormat df = new DecimalFormat("#.#");
String s = df.format(sum/3); // prints 100, I want 100.0
s = df.format(301/3); // pritns 100.3 which is correct
Run Code Online (Sandbox Code Playgroud)
结果应始终格式化为1十进制,如何操作?
有时我必须编写Java类,我需要定义相同类型的多个字段.例如,我知道我需要private final String在接下来的4行中复制.
是否有可能在IntelliJ编辑器中生成多个插入符号,因此我可以在屏幕时间输入多个插入行?
我正在使用Moq,我有以下界面:
public interface IGameBoard : IEnumerable<PieceType>
{
...
}
public class GameBoardNodeFactory
{
public virtual GameBoardNode Create (int row, int column, IGameBoard gameBoard)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有这样的测试:
var clonedGameBoardMock = new Mock<IGameBoard> (MockBehavior.Loose);
var gameBoardNodeFactoryMock = new Mock<GameBoardNodeFactory> ();
gameBoardNodeFactoryMock.Setup (x =>
x.Create (
position.Row,
position.Column,
clonedGameBoardMock.Object)).Returns (new GameBoardNode { Row = position.Row, Column = position.Column });
Run Code Online (Sandbox Code Playgroud)
但是然后gameBoardNodeFactoryMock.Object.Create(position.Row,position.Column,clonedGameBoardMock.Object)抛出NullReferenceException.我试图为IGameBoard创建一个模拟,这样它就不会扩展IEnumerable <PieceType>接口,然后它就可以了.
任何帮助表示赞赏.
我在MVC应用程序中有很多遗留模型,模型类中有很多冗余属性.
在Eclipse中使用CTRL + SHIFT + G我可以在Java代码中找到引用,但在我的视图中找不到,这些视图主要是JSP或JSF页面.因此,我无法安全地重构代码.
唯一的选择是普通的字符串搜索,它不舒服且更容易出错.有解决方案吗?
如何在Spring MVC控制器中正确使用RESTful删除?我有DAO在尝试删除某个项目时返回布尔值.
我想删除项目.如果一切正常,只需显示项目列表(已删除的项目将不再存在).如果无法删除项目,请重定向到详细信息页面并说明无法删除的原因.
我需要一些特殊的响应状态或类似的东西吗?我的方法是RESTful吗?
@RequestMapping(value = "items/{id}", method = RequestMethod.DELETE)
public String delete(@PathVariable("id") int itemId, Model model) {
Item item = itemDao.get(id);
// true -> can delete
// false -> cannot delete, f.e. is FK reference somewhere
boolean wasOk = itemDao.delete(item);
if (wasOk) {
return "redirect:/items";
}
// will write to user which item couldn't be deleted
model.addAttribute("item", item);
return "items/error";
}
Run Code Online (Sandbox Code Playgroud) 我想尝试使用UML2 Tools for Eclipse,如本教程所示.
我目前有Java 3.6 Helios for Java EE开发人员.
在我的Eclipse Marketplace中,我将市场目录切换到Yoxos Marketplace,并搜索了UML2 Tools SDK(Incubation).当我尝试安装它们时,Eclipse不会继续并抱怨一些冲突的依赖项.这是完整的痕迹:
Cannot complete the install because of a conflicting dependency.
Software being installed: UML2 Tools SDK (Incubation) 0.9.0.v200906190654 (org.eclipse.uml2tools.sdk.feature.group 0.9.0.v200906190654)
Software currently installed: Eclipse IDE for Java EE Developers 1.3.2.20110301-1807 (epp.package.jee 1.3.2.20110301-1807)
Only one of the following can be installed at once:
EMF Ecore 2.5.0.v200906151043 (org.eclipse.emf.ecore 2.5.0.v200906151043)
EMF Ecore 2.6.1.v20100914-1218 (org.eclipse.emf.ecore 2.6.1.v20100914-1218)
EMF Ecore 2.6.0.v20100614-1136 (org.eclipse.emf.ecore 2.6.0.v20100614-1136)
Cannot satisfy dependency: …Run Code Online (Sandbox Code Playgroud) 我可以为Java @ Eclipse提供全文自动完成功能吗?让我们来证明:
最后一段代码:
getVariants().add(new Variant(MediaType.TEXT_XML));
Run Code Online (Sandbox Code Playgroud)
我现在如何编码:
getv [ctrl + space] .a [Enter] new V [ctrl + space,down arrow,Enter] M [Ctrl + Space,Enter].text_x
基本上,当我提供字母"TEXT_X"时,Eclipse会完成单词"TEXT_XML".
我想怎么编码:
getv [ctrl + space] .a [Enter] new V [ctrl + space,down arrow,Enter] M [Ctrl + Space,Enter].XML
Eclipse应该意识到我的意思是"TEXT_XML"(全文自动完成).