Java 常用方法
time
Iso8601 to ZonedDateTime
```java= java.time.ZonedDateTime.parse("2015-08-18T00:00+01:00");
### get UTC+0 now Date
```java=
Date.from(java.time.ZonedDateTime.now(ZoneId.of("UTC+0")).toInstant());
兩個時間相隔多久
```java= private double subtract(String k1,String k2) { var k1t = ZonedDateTime.parse(k1); var k2t = ZonedDateTime.parse(k2); return ChronoUnit.MILLIS.between(k1t,k2t) / 1000; }
### before
```java=
ZonedDateTime st = ZonedDateTime.parse("2015-08-18T00:00+01:00");
ZonedDateTime ed = ZonedDateTime.parse("2019-08-18T00:00+01:00");
System.out.println(ed.isBefore(st));
System.out.println(ed.isAfter(st));
System.out.println(st.isBefore(ed));
System.out.println(st.isAfter(ed));
ans : ```shell= false true true false
## List / Array
### reverse 排序顛倒
```java=
public static void reverse(List<?> list){ ... }
//
Collections.reverse(arrlst);
Array to List
```java=
Integer[] spam = new Integer[] { 1, 2, 3 };
List
### Collection to Array
```java=
// Where x is the collection:
Foo[] foos = x.toArray(new Foo[x.size()]);
stream
sum numbers
```java=
List
### collect 指定 型別
```java
List<String> fields=Arrays.asList("foo", "bar", "baz", "foo");
CopyOnWriteArrayList<String> l =
fields.stream()
.distinct()
.collect(Collectors.toCollection(CopyOnWriteArrayList::new));
JSON
dto 忽略 field
```java= public class MyDto {
private String stringValue;
@JsonIgnore
private int intValue;
}
## String
### placehoder
#### MessageFormat.format
```java=
String streamName = MessageFormat.format("{0}@kline_{1}", symbol, interval);