当我为一个"简单"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注释.
截至目前,我正在考虑让我的练习只记录吸气剂而不是属性.但它似乎不是最好的解决方案......
在欧洲,小数用' , ' 分隔,我们使用可选' .'分开成千上万.我允许货币值:
我使用下一个正则表达式(来自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) 对于简单的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)
或者根本不记录?
我试图让我的程序读出输入问卷形式的答案.为此,我计划使用getComponents()来获取我需要的答案字段(例如文本字段,单选按钮等),然后使用getText()等方法来读取答案.
我从未使用过getComponents()而只是学习Java/Swing/AWT.getComponents()文档中的上述警告吓倒了我,因为我不知道"树锁"是什么,或者在哪里找出它是什么.谷歌一无所获.
即使getComponents()证明是我的问题的不适当的解决方案,为了学习我仍然希望我的问题得到解答.
谢谢!:)