小编IAd*_*ter的帖子

字段初始化中未处理的异常

Java是否有任何语法来管理在声明和初始化类的成员变量时可能抛出的异常?

public class MyClass
{
  // Doesn't compile because constructor can throw IOException
  private static MyFileWriter x = new MyFileWriter("foo.txt"); 
  ...
}
Run Code Online (Sandbox Code Playgroud)

或者这些初始化总是必须移动到一个方法,我们可以throws IOException在try-catch块中声明或包装初始化?

java initialization exception

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

有没有人不同意这句话:"使用开关是不好的OOP风格"?

我已经看到它写在stackoverflow上的多个线程/注释中,使用switch的只是糟糕的OOP风格.就个人而言,我不同意这一点.

在许多情况下,您无法向enum要打开的类添加代码(即方法),因为您无法控制它们,可能它们位于第三方jar文件中.还有其他一些情况,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑因素,或者它实际上是其他东西以及枚举的函数.

最后,交换机简洁明了:

boolean investable;
switch (customer.getCategory()) {
    case SUB_PRIME:
    case MID_PRIME:
        investible = customer.getSavingsAccount().getBalance() > 1e6; break;
    case PRIME:
        investible = customer.isCeo(); break;
}
Run Code Online (Sandbox Code Playgroud)

我不是在捍卫每一个用途,switch我不是说它总是要走的路.但在我看来,像"Switch是代码味道"这样的陈述是错误的.还有其他人同意吗?

java oop switch-statement

26
推荐指数
9
解决办法
9807
查看次数

没有值的Java哈希映射?

假设我想在数据结构中添加单词,并且我希望有恒定时间查找以查看该单词是否在此数据结构中.我想做的就是看看这个词是否存在.我会使用HashMap(containsKey())吗? HashMap使用key->值配对,但在我的情况下,我没有值.当然我可以使用null作为值,但即使null也需要空格.看起来这个应用程序应该有更好的数据结构.

该集合可能会被多个线程使用,但由于集合中包含的对象不会更改,因此我认为我没有同步/并发要求.

谁能帮我吗?

java lookup hashmap containskey

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

在EditorTemplate中渲染字段名称(通过EditorFor()呈现)

我目前正在为ASP.NET MVC中的网站构建Admin后端.

在ASP.NET MVC应用程序中,我开始使用'EditorFor'辅助方法,如下所示:

<div id="content-edit" class="data-form">
    <p>
        <%= Html.LabelFor(c => c.Title) %>
        <%= Html.TextBoxFor(c => c.Title)%>
    </p>
    <p>
        <%= Html.LabelFor(c => c.Biography) %>
        <%= Html.EditorFor(c => c. Biography)%>
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

在模型中,"传记"字段已经用以下内容进行了装饰:[UIHelper("Html")].

我有一个'Html'局部视图(在Views/Shared/EditorTemplates下):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.XML.Linq.XElement>" %>

<textarea class="html">
    <%= Model.ToString() %>
</textarea>
Run Code Online (Sandbox Code Playgroud)

现在我想将'textarea'的'ID'属性设置为字段的名称,如下所示:

<textarea id="Biography" class="html">
    ...
</textarea>
Run Code Online (Sandbox Code Playgroud)

但是我无法通过当前的设置看到这样做的方法.

我能想到的只是创建一个'Html'ViewModel,它包含'Value'属性和'ControlID'属性.

但是如果我基于这个视图,而不是'System.XML.Linq.XElement',它将不再与'EditorFor'辅助方法兼容,我必须手动完成所有操作.

有没有人有类似的问题呢?

asp.net-mvc partial-views editorfor asp.net-mvc-2

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

如何将Sql Server备份到sql文件?

在"Back UP"中我只得到一个bak文件,但我想创建.sql文件

sql database sql-server backup

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

在JSF中执行两个实际操作方法

是否可以执行两种方法<h:commandButton>

例如,

<h:commandButton action="#{bean.methodOne();bean.methodTwo();}" />
Run Code Online (Sandbox Code Playgroud)

jsf jsf-2

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

如何获取对象的所有属性?

如何使用JavaScript中的反射获取对象的所有属性?

javascript reflection properties object

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

将大量小文件读入内存的最快方法是什么?

我需要在每个服务器启动时读取~50个文件,并将每个文本文件的表示放入内存中.每个文本文件都有自己的字符串(这是用于字符串持有者的最佳类型?).

将文件读入内存的最快方法是什么?保存文本的最佳数据结构/类型是什么,以便我可以在内存中操作它(主要是搜索和替换)?

谢谢

java io performance types file

20
推荐指数
2
解决办法
8715
查看次数

如何设计扩展

有一个Checkstyle规则DesignForExtension.它说:如果你有一个公共/受保护的方法,它不是抽象的,也不是最终的也不是空的,它不是"为扩展而设计的".请在Checkstyle页面上阅读此规则说明以获取基本原理.

想象一下这个案子.我有一个抽象类,它定义了一些字段和这些字段的验证方法:

public abstract class Plant {
    private String roots;
    private String trunk;

    // setters go here

    protected void validate() {
        if (roots == null) throw new IllegalArgumentException("No roots!");
        if (trunk == null) throw new IllegalArgumentException("No trunk!");
    }

    public abstract void grow();
}
Run Code Online (Sandbox Code Playgroud)

我还有一个植物的子类:

public class Tree extends Plant {
    private List<String> leaves;

    // setters go here

    @Overrides
    protected void validate() {
        super.validate();
        if (leaves == null) throw new IllegalArgumentException("No …
Run Code Online (Sandbox Code Playgroud)

java inheritance class-design

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

如何立即构建调试和发布?

当我选择Build-> Build或其他任何东西时,它只构建当前选择的配置(Debug或Release).当我处于"调试模式"(我已选择调试)时,如何使其构建为示例Release?

.net c# visual-studio-2010 visual-studio

20
推荐指数
2
解决办法
5089
查看次数