小编Anu*_*thi的帖子

获取月份的最后一天

为了获得月份的最后日期,我已经写了这个函数

/**
 * @param month integer value of month
 * @param year integer value of month
 * @return last day of month in MM/dd/YYYY format
 */
private static String getDate(int month, int year) {
    Calendar calendar = Calendar.getInstance();
    // passing month-1 because 0-->jan, 1-->feb... 11-->dec
    calendar.set(year, month - 1, 1);
    calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
    Date date = calendar.getTime();
    DateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/YYYY");
    return DATE_FORMAT.format(date);
}
Run Code Online (Sandbox Code Playgroud)

对于所有输入它的工作正常,当月份是12月时有一个例外,即getDate(12,2012)返回12/31/2013但它应该返回12/31/2012.请解释一下行为和解决方案.

java calendar date

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

加入Java 8 Collection API

我有两个List<Map<String, Object>>对象.

[{Month=August-2013, Sales=282200}, {Month=July-2013, Sales=310400}, 
 {Month=June-2013, Sales=309600}, {Month=May-2013, Sales=318200}, 
 {Month=September-2013, Sales=257800}]
Run Code Online (Sandbox Code Playgroud)

[{Month=April-2013, NoOfTranx=8600}, {Month=August-2013, NoOfTranx=6700}, 
 {Month=July-2013, NoOfTranx=14400}, {Month=June-2013, NoOfTranx=8500}, 
 {Month=May-2013, NoOfTranx=14400}]
Run Code Online (Sandbox Code Playgroud)

我想把join(Merge)这两个List放在Month键上.如何FULL OUTER JOIN, RIGHT OUTER JOIN使用新的Collection在这些List上执行多个连接操作(即等)API.

java collections join java-8

14
推荐指数
1
解决办法
3427
查看次数

如何计算列成员数据库表的算术表达式?

我有这个查询的结果

SELECT
    myTable.Branch AS Branch,
    myTable.Quarter AS Quarter,
    SUM(myTable.Sales) AS Sales
FROM
    myTable
GROUP BY
    myTable.Branch,
    myTable.Quarter

Branch  Quarter Sales
B1      Q1      17
B1      Q2      7
B1      Q3      1
B1      Q4      8
B1      Q5      12
B2      Q1      8
B2      Q2      5
B2      Q3      2
B2      Q4      14
B2      Q5      17
Run Code Online (Sandbox Code Playgroud)

现在我想得到计算成员让我们说Q1-Q3结果应该是这样的

Branch  Quarter     Sales
B1      Q1          17
B1      Q2          7
B1      Q3          1
B1      Q4          8
B1      Q5          12
B1      Q1-Q3       16
B2      Q1          8
B2      Q2          5 …
Run Code Online (Sandbox Code Playgroud)

sql database select aggregate sql-server-2012

7
推荐指数
1
解决办法
368
查看次数

在反序列化Json时,如何在jackson中确定POJO的setter方法调用的顺序?

我有一个像

{
    "key" : ["key1", "key2", "key3"],
    "value" : "v1";
}
Run Code Online (Sandbox Code Playgroud)

我正在Pojo使用杰克逊将其反序列化到我的班级,而反序列化时我希望变量的value类型List<String>取决于变量的大小key。这样最后一个对象将代表这个Json。

{
     "key" : ["key1", "key2", "key3"],
     "value" : ["v1", "v1", "v1"];
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的Pojo课是这样的

public class Pojo {

@JsonProperty("key")
private List<String> key;
@JsonProperty("value")
private List<String> value;

@JsonProperty("key")
public List<String> getKey() {
    return key;
}

@JsonProperty("key")
public void setKey(List<String> key) {
    this.key = key;
}

@JsonProperty("value")
public List<String> getValue() {
    return value;
}

@JsonProperty("value")
public void setValue(String val) {
    List<String> …
Run Code Online (Sandbox Code Playgroud)

java json jackson

5
推荐指数
1
解决办法
2489
查看次数

这两个查询的性能比较

我正在使用此查询来获取结果,其中Calander(主键:) DAY_DATE具有关于时间的所有连续信息(即日期,季度,年等),EXPENCE并且INCOME两者都将列TXN_DATE作为外键DAY_DATE.

  SELECT
    COALESCE(t1."FISCAL_YEAR",t2."FISCAL_YEAR") "FISCAL_YEAR" ,
    "exp" "exp" ,
    "rev" "rev" 
    FROM
    (SELECT
    Calander.FISCAL_YEAR "FISCAL_YEAR" ,
    (SUM("EXPENCE"."TXN_AMT" )) "exp" 
    FROM
        Calander ,
        EXPENCE 
    WHERE
        "EXPENCE"."TXN_DATE"="Calander"."DAY_DATE" 
    GROUP BY 
        FISCAL_YEAR ) t1 FULL OUTER JOIN (SELECT
        Calander.FISCAL_YEAR "FISCAL_YEAR" ,
        (SUM("INCOME"."TXN_AMT" )) "rev" 
    FROM
        Calander ,
        INCOME 
    WHERE
        "INCOME"."TXN_DATE"="Calander"."DAY_DATE" 
    GROUP BY 
        FISCAL_YEAR ) t2 ON 
        t1."FISCAL_YEAR"=t2."FISCAL_YEAR"  
    ORDER BY
            COALESCE(t1."FISCAL_YEAR",t2."FISCAL_YEAR") 
Run Code Online (Sandbox Code Playgroud)

现在为了使查询更容易理解,我做了这个

SELECT
    FISCAL_YEAR "FISCAL_YEAR" ,
    (sum("EXPENCE"."TXN_AMT" )) "exp",
    (sum("INCOME"."TXN_AMT" )) "rev" 
FROM
    Calander …
Run Code Online (Sandbox Code Playgroud)

sql sql-server query-optimization

5
推荐指数
1
解决办法
69
查看次数

在Java中模拟Groupby Rollup

我有一个ArrayList<Map<String, Object>>像数据库表这样的数据.我想用自己的Java来计算Subtotal总成员数.GroupBY Rollup/Cube可以在SQL中实现相同的功能.我写了一个函数来计算GroupBy Cube.

public static List<Map<String, Object>> applyGroupBy(List<LevelDetail> dimensionColumns, List<MeasureDetail> numericColumns, List<Map<String, Object>> resultset) {
    List<Map<String, Object>> resultsetNew = new ArrayList<Map<String, Object>>();
    Map<String, List<Double>> grandTotalMap = new HashMap<String, List<Double>>();
    for (LevelDetail levelDetail : dimensionColumns) {
        Stream<Map<String, Object>> stream = resultset.stream();
        stream.collect(Collectors.groupingBy(m -> m.get(levelDetail.getName()), LinkedHashMap::new, Collectors.mapping(m -> m, Collectors.toList()))).forEach((g, r) -> {
            Map<String, Object> row = new HashMap<String, Object>();
            row.put(levelDetail.getName(), g);
            for (MeasureDetail measureDetail : numericColumns) {
                DoubleStream valueStream = r.stream().mapToDouble(p -> {
                    p.put(levelDetail.getName() + "_nb_grouping", 0);
                    resultsetNew.add(p); …
Run Code Online (Sandbox Code Playgroud)

java sql java-8

5
推荐指数
1
解决办法
790
查看次数

反序列化内部 JSON 对象

我有一个 POJO 类

Class Pojo {
String id;
String name;
//getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的json

{
    "response" : [
        {
            "id" : "1a",
            "name" : "foo"
        }, 
        {
            "id" : "1b",
            "name" : "bar"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Jackson ObjectMapper 进行反序列化。List<Pojo>在不创建任何其他父类的情况下如何获得?

如果不可能,是否可以获取Pojo仅包含 json 字符串第一个元素的对象,即在本例中为id="1a"and name="foo"

java json jackson

2
推荐指数
1
解决办法
8114
查看次数