Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
panwangnan
schbrain-parent
Commits
60e1beab
Commit
60e1beab
authored
Jul 19, 2023
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
22175b52
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
43 deletions
+70
-43
commons/common-util/src/main/java/com/schbrain/common/util/JacksonUtils.java
.../src/main/java/com/schbrain/common/util/JacksonUtils.java
+5
-6
commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java
...l/src/main/java/com/schbrain/common/util/StreamUtils.java
+65
-37
No files found.
commons/common-util/src/main/java/com/schbrain/common/util/JacksonUtils.java
View file @
60e1beab
...
...
@@ -62,6 +62,9 @@ public class JacksonUtils {
}
public
static
String
toJsonString
(
Object
data
,
boolean
pretty
)
{
if
(
data
==
null
)
{
return
null
;
}
try
{
if
(
pretty
)
{
return
getPrettyObjectMapper
().
writeValueAsString
(
data
);
...
...
@@ -220,11 +223,7 @@ public class JacksonUtils {
}
public
static
<
T
>
T
convertValue
(
Object
fromValue
,
Class
<
T
>
toValueType
)
{
try
{
return
getObjectMapper
().
convertValue
(
fromValue
,
toValueType
);
}
catch
(
Exception
e
)
{
throw
new
JSONException
(
"JSON 转换出错"
,
e
);
}
return
convertValue
(
fromValue
,
constructType
(
toValueType
));
}
public
static
<
T
>
T
convertValue
(
Object
fromValue
,
JavaType
toValueType
)
{
...
...
commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java
View file @
60e1beab
...
...
@@ -29,59 +29,64 @@ public class StreamUtils {
return
filterToList
(
data
,
predicate
,
Function
.
identity
());
}
public
static
<
T
,
V
>
List
<
V
>
filterToList
(
Iterable
<
T
>
data
,
Function
<
T
,
V
>
mapper
,
Predicate
<
V
>
predicate
)
{
return
filter
(
data
,
mapper
,
predicate
,
Function
.
identity
(),
Collectors
.
toList
());
}
public
static
<
T
,
V
>
List
<
V
>
filterToList
(
Iterable
<
T
>
data
,
Predicate
<
T
>
predicate
,
Function
<
T
,
V
>
mapper
)
{
return
filter
(
data
,
predicate
,
mapper
,
Collectors
.
toList
());
return
filter
(
data
,
Function
.
identity
(),
predicate
,
mapper
,
Collectors
.
toList
());
}
public
static
<
T
>
Set
<
T
>
filterToSet
(
Iterable
<
T
>
data
,
Predicate
<
T
>
predicate
)
{
return
filterToSet
(
data
,
predicate
,
Function
.
identity
());
}
public
static
<
T
,
V
>
Set
<
V
>
filterToSet
(
Iterable
<
T
>
data
,
Predicate
<
T
>
predicate
,
Function
<
T
,
V
>
mapper
)
{
return
filter
(
data
,
predicate
,
mapper
,
Collectors
.
toSet
());
public
static
<
T
,
V
>
Set
<
V
>
filterToSet
(
Iterable
<
T
>
data
,
Function
<
T
,
V
>
mapper
,
Predicate
<
V
>
predicate
)
{
return
filter
(
data
,
mapper
,
predicate
,
Function
.
identity
()
,
Collectors
.
toSet
());
}
public
static
<
T
,
E
,
V
extends
Iterable
<
E
>>
V
filter
(
Iterable
<
T
>
data
,
Predicate
<
T
>
predicate
,
Function
<
T
,
E
>
mapper
,
Collector
<
E
,
?,
V
>
collecto
r
)
{
return
f
rom
(
data
).
filter
(
predicate
).
map
(
mapper
).
collect
(
collector
);
public
static
<
T
,
V
>
Set
<
V
>
filterToSet
(
Iterable
<
T
>
data
,
Predicate
<
T
>
predicate
,
Function
<
T
,
V
>
mappe
r
)
{
return
f
ilter
(
data
,
Function
.
identity
(),
predicate
,
mapper
,
Collectors
.
toSet
()
);
}
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mappe
r
)
{
return
toList
(
data
,
mapper
,
false
);
public
static
<
T
,
E
,
V
,
R
>
R
filter
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Predicate
<
E
>
predicate
,
Function
<
E
,
V
>
valueMapper
,
Collector
<
V
,
?,
R
>
collecto
r
)
{
return
from
(
data
).
map
(
keyMapper
).
filter
(
predicate
).
map
(
valueMapper
).
collect
(
collector
);
}
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
boolean
distinct
)
{
return
toList
(
data
,
mapper
,
distinct
,
false
);
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
)
{
return
toList
(
data
,
keyMapper
,
false
);
}
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
boolean
distinct
,
boolean
discardNull
)
{
return
extract
(
data
,
mapper
,
distinct
,
discardNull
,
Collectors
.
toList
()
);
public
static
<
T
,
E
,
V
>
List
<
V
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Function
<
E
,
V
>
valueMapper
)
{
return
toList
(
data
,
keyMapper
,
valueMapper
,
false
,
false
);
}
public
static
<
T
,
E
>
Set
<
E
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
)
{
return
to
Set
(
data
,
mapper
,
false
);
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
boolean
distinct
)
{
return
to
List
(
data
,
keyMapper
,
Function
.
identity
(),
distinct
,
false
);
}
public
static
<
T
,
E
>
Set
<
E
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
boolean
discardNull
)
{
return
extract
(
data
,
mapper
,
discardNull
,
false
,
Collectors
.
toSet
()
);
public
static
<
T
,
E
>
List
<
E
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
boolean
distinct
,
boolean
discardNull
)
{
return
toList
(
data
,
keyMapper
,
Function
.
identity
(),
distinct
,
discardNull
);
}
public
static
<
T
,
E
,
R
>
R
extract
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
boolean
distinct
,
boolean
discardNull
,
Collector
<
E
,
?,
R
>
collector
)
{
Predicate
<
E
>
predicate
=
null
;
if
(
discardNull
)
{
predicate
=
Objects:
:
nonNull
;
public
static
<
T
,
E
,
V
>
List
<
V
>
toList
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Function
<
E
,
V
>
valueMapper
,
boolean
distinct
,
boolean
discardNull
)
{
return
extract
(
data
,
keyMapper
,
distinct
,
valueMapper
,
discardNull
,
Collectors
.
toList
());
}
return
extract
(
data
,
mapper
,
predicate
,
distinct
,
collector
);
public
static
<
T
,
E
>
Set
<
E
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
)
{
return
toSet
(
data
,
keyMapper
,
Function
.
identity
());
}
public
static
<
T
,
E
,
R
>
R
extract
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
Predicate
<
E
>
predicate
,
boolean
distinct
,
Collector
<
E
,
?,
R
>
collector
)
{
Stream
<
E
>
stream
=
from
(
data
).
map
(
mapper
);
if
(
distinct
)
{
stream
=
stream
.
distinct
();
public
static
<
T
,
E
,
V
>
Set
<
V
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Function
<
E
,
V
>
valueMapper
)
{
return
toSet
(
data
,
keyMapper
,
valueMapper
,
false
);
}
if
(
predicate
!=
null
)
{
stream
=
stream
.
filter
(
predicate
);
public
static
<
T
,
V
>
Set
<
V
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
V
>
keyMapper
,
boolean
discardNull
)
{
return
toSet
(
data
,
keyMapper
,
Function
.
identity
(),
discardNull
);
}
return
stream
.
collect
(
collector
);
public
static
<
T
,
E
,
V
>
Set
<
V
>
toSet
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Function
<
E
,
V
>
valueMapper
,
boolean
discardNull
)
{
return
extract
(
data
,
keyMapper
,
false
,
valueMapper
,
discardNull
,
Collectors
.
toSet
());
}
public
static
<
K
,
V
>
Map
<
K
,
V
>
toMap
(
Iterable
<
V
>
data
,
Function
<
V
,
K
>
keyMapper
)
{
...
...
@@ -108,20 +113,20 @@ public class StreamUtils {
return
from
(
data
).
collect
(
Collectors
.
toMap
(
keyMapper
,
valueMapper
,
(
oldValue
,
newValue
)
->
oldValue
,
mapFactory
));
}
public
static
<
K
,
V
>
Map
<
K
,
List
<
V
>>
groupBy
(
Iterable
<
V
>
data
,
Function
<
V
,
K
>
m
apper
)
{
return
groupBy
(
data
,
m
apper
,
false
);
public
static
<
K
,
V
>
Map
<
K
,
List
<
V
>>
groupBy
(
Iterable
<
V
>
data
,
Function
<
V
,
K
>
keyM
apper
)
{
return
groupBy
(
data
,
keyM
apper
,
false
);
}
public
static
<
K
,
T
>
Map
<
K
,
List
<
T
>>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
keyMapper
,
boolean
ignoreNullKey
)
{
return
groupBy
(
data
,
keyMapper
,
Collectors
.
toList
(),
ignoreNullKey
);
}
public
static
<
K
,
T
,
V
>
Map
<
K
,
V
>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
m
apper
,
Collector
<
T
,
?,
V
>
collectors
)
{
return
groupBy
(
data
,
m
apper
,
collectors
,
false
);
public
static
<
K
,
T
,
V
>
Map
<
K
,
V
>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
keyM
apper
,
Collector
<
T
,
?,
V
>
collectors
)
{
return
groupBy
(
data
,
keyM
apper
,
collectors
,
false
);
}
public
static
<
K
,
T
,
V
>
Map
<
K
,
V
>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
m
apper
,
Collector
<
T
,
?,
V
>
collectors
,
boolean
discardNullKey
)
{
return
groupBy
(
data
,
m
apper
,
Function
.
identity
(),
collectors
,
discardNullKey
);
public
static
<
K
,
T
,
V
>
Map
<
K
,
V
>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
keyM
apper
,
Collector
<
T
,
?,
V
>
collectors
,
boolean
discardNullKey
)
{
return
groupBy
(
data
,
keyM
apper
,
Function
.
identity
(),
collectors
,
discardNullKey
);
}
public
static
<
K
,
T
,
V
>
Map
<
K
,
List
<
V
>>
groupBy
(
Iterable
<
T
>
data
,
Function
<
T
,
K
>
keyMapper
,
Function
<
T
,
V
>
valueMapper
)
{
...
...
@@ -156,8 +161,12 @@ public class StreamUtils {
return
join
(
data
,
delimiter
,
Objects:
:
toString
);
}
public
static
<
T
>
String
join
(
Iterable
<
T
>
data
,
String
delimiter
,
Function
<
T
,
String
>
mapper
)
{
return
from
(
data
).
map
(
mapper
).
collect
(
joining
(
delimiter
));
public
static
<
T
>
String
join
(
Iterable
<
T
>
data
,
String
delimiter
,
Function
<
T
,
String
>
toStringFunction
)
{
return
from
(
data
).
map
(
toStringFunction
).
collect
(
joining
(
delimiter
));
}
public
static
List
<
String
>
split
(
String
data
)
{
return
split
(
data
,
Function
.
identity
());
}
public
static
<
T
>
List
<
T
>
split
(
String
data
,
Function
<
String
,
T
>
mapper
)
{
...
...
@@ -165,6 +174,9 @@ public class StreamUtils {
}
public
static
<
T
>
List
<
T
>
split
(
String
data
,
String
delimiter
,
Function
<
String
,
T
>
mapper
)
{
if
(
StringUtils
.
isBlank
(
data
))
{
return
new
ArrayList
<>();
}
return
Arrays
.
stream
(
StringUtils
.
split
(
data
,
delimiter
)).
map
(
mapper
).
collect
(
Collectors
.
toList
());
}
...
...
@@ -177,4 +189,20 @@ public class StreamUtils {
return
StreamSupport
.
stream
(
source
.
spliterator
(),
parallel
);
}
private
static
<
T
,
E
,
R
,
V
>
R
extract
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
mapper
,
boolean
distinct
,
Function
<
E
,
V
>
valueMapper
,
boolean
discardNull
,
Collector
<
V
,
?,
R
>
collector
)
{
Predicate
<
E
>
predicate
=
any
->
true
;
if
(
discardNull
)
{
predicate
=
Objects:
:
nonNull
;
}
return
extract
(
data
,
mapper
,
predicate
,
distinct
,
valueMapper
,
collector
);
}
private
static
<
T
,
E
,
R
,
V
>
R
extract
(
Iterable
<
T
>
data
,
Function
<
T
,
E
>
keyMapper
,
Predicate
<
E
>
predicate
,
boolean
distinct
,
Function
<
E
,
V
>
valueMapper
,
Collector
<
V
,
?,
R
>
collector
)
{
Stream
<
E
>
stream
=
from
(
data
).
map
(
keyMapper
);
if
(
distinct
)
{
stream
=
stream
.
distinct
();
}
return
stream
.
filter
(
predicate
).
map
(
valueMapper
).
collect
(
collector
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment