为了获得月份的最后日期,我已经写了这个函数
/**
* @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.请解释一下行为和解决方案.
我有两个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.
我有这个查询的结果
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) 我有一个像
{
"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) 我正在使用此查询来获取结果,其中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) 我有一个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) 我有一个 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"?