相关疑难解决方法(0)

如何编写属性的Javadoc?

当我为一个"简单"POJO类的属性/成员编写javadoc时,我常常发现自己处于两难境地,只持有属性和getter和setter(DTO风格)....

1)为属性写javadoc
或...
2)为getter写javadoc

如果我为属性编写javadoc,我的IDE(Eclipse)将(当然)在以后通过代码完成访问POJO时无法显示.并且没有标准的javadoc标记允许我将getter-javadoc链接到实际的属性javadoc.

一个例子:

public class SomeDomainClass {

  /**
   * The name of bla bla bla
   */
  private String name;

  /**
   * @return INSERT SOME SMART JAVADOC TAG LINKING TO name's javadoc
   */
  public String getName() {  
    return name;  
  }  
Run Code Online (Sandbox Code Playgroud)

所以,基本上有趣的是听到其他人如何让你的Eclipse IDE显示你的getter的javadoc属性描述 - 而不必复制javadoc注释.

截至目前,我正在考虑让我的练习只记录吸气剂而不是属性.但它似乎不是最好的解决方案......

java javadoc

87
推荐指数
2
解决办法
8万
查看次数

如何在Java中解析货币金额(美国或欧盟)浮动值

在欧洲,小数用' , ' 分隔,我们使用可选' .'分开成千上万.我允许货币值:

  • 美式123,456.78表示法
  • 欧式123.456,78表示法

我使用下一个正则表达式(来自RegexBuddy库)来验证输入.我允许可选的两位数分数和可选的千位分隔符.

^[+-]?[0-9]{1,3}(?:[0-9]*(?:[.,][0-9]{0,2})?|(?:,[0-9]{3})*(?:\.[0-9]{0,2})?|(?:\.[0-9]{3})*(?:,[0-9]{0,2})?)$
Run Code Online (Sandbox Code Playgroud)

我想将货币字符串解析为浮点数.例如

123,456.78应存储为123456.78
123.456,78应存储为123456.78
123.45应存储为123.45
1.234应存储为1234 12.34应存储为12.34

等等...

在Java中有一种简单的方法吗?

public float currencyToFloat(String currency) {
    // transform and return as float
}
Run Code Online (Sandbox Code Playgroud)

使用BigDecimal而不是Float


感谢大家的回答.我已将我的代码更改为使用BigDecimal而不是float.我会用浮动来保留这个问题的前一部分,以防止人们犯同样的错误.


下一个代码显示了一个函数,它将美国和欧盟货币转换为BigDecimal(String)构造函数接受的字符串.这就是说一个没有千分隔符的字符串和一个分数点.

   import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class TestUSAndEUCurrency {

    public static void main(String[] args) throws Exception {       
        test("123,456.78","123456.78");
        test("123.456,78","123456.78");
        test("123.45","123.45");
        test("1.234","1234");
        test("12","12");
        test("12.1","12.1");
        test("1.13","1.13");
        test("1.1","1.1");
        test("1,2","1.2");
        test("1","1");              
    }

    public static void test(String value, String expected_output) throws Exception {
        String output = currencyToBigDecimalFormat(value);
        if(!output.equals(expected_output)) {
            System.out.println("ERROR expected: " …
Run Code Online (Sandbox Code Playgroud)

java currency

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

记录getter和setter

对于简单的getter/setter,如下所示,记录它的最佳方法是什么?

public float getPrice()
{
    return price;
}
Run Code Online (Sandbox Code Playgroud)

我对编码标准非常严格,因此我的IDE会警告我任何未记录的公共/受保护方法.

选项1:

/**
 * Get the price field.
 * 
 * @return
 */
Run Code Online (Sandbox Code Playgroud)

选项2:

/**
 * @return Price
 */
Run Code Online (Sandbox Code Playgroud)

或者根本不记录?

language-agnostic documentation javadoc coding-style

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

有人可以解释一下"注意:这个方法应该在AWT树锁下调用."?

我试图让我的程序读出输入问卷形式的答案.为此,我计划使用getComponents()来获取我需要的答案字段(例如文本字段,单选按钮等),然后使用getText()等方法来读取答案.

我从未使用过getComponents()而只是学习Java/Swing/AWT.getComponents()文档中的上述警告吓倒了我,因为我不知道"树锁"是什么,或者在哪里找出它是什么.谷歌一无所获.

即使getComponents()证明是我的问题的不适当的解决方案,为了学习我仍然希望我的问题得到解答.

谢谢!:)

java swing awt

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