从Java 9会允许我们定义private和private static方法太接口,这将是在剩下的差异interface和class?而且,Java是否正在慢慢走向多重继承?
我想用Java 8编写纯函数,将集合作为参数,对该集合的每个对象应用一些更改,并在更新后返回一个新集合.我想遵循FP原则,所以我不想更新/修改作为参数传递的集合.
有没有办法使用Stream API而不先创建原始集合的副本(然后使用forEach或'normal'for循环)?
下面的示例对象,并假设我想将文本追加到其中一个对象属性:
public class SampleDTO {
private String text;
}
Run Code Online (Sandbox Code Playgroud)
所以我想做类似下面的事情,但不修改集合.假设"列表"是一个List<SampleDTO>.
list.forEach(s -> {
s.setText(s.getText()+"xxx");
});
Run Code Online (Sandbox Code Playgroud) 目前我有来自该数组的对象数组列表我必须迭代并添加到我LatestNewsDTO在下面的代码工作中所做的事情列表,但我仍然不满意我的方式.他们有效的方式请告诉我.
谢谢
List<Object[]> latestNewses = latestNewsService.getTopNRecords(companyId, false, 3);
List<LatestNewsDTO> latestNewsList = new ArrayList();
latestNewses.forEach(objects -> {
LatestNewsDTO latestNews = new LatestNewsDTO();
latestNews.setId(((BigInteger) objects[0]).intValue());
latestNews.setCreatedOn((Date) objects[1]);
latestNews.setHeadLine((String) objects[2]);
latestNews.setContent(((Object) objects[3]).toString());
latestNews.setType((String) objects[4]);
latestNewsList.add(latestNews);
});
Run Code Online (Sandbox Code Playgroud) 假设我有一个简单的课程:
public class TestClass
{
public String field1 = "Field1";
public String field2 = "Field2";
public String field3 = "Field3";
}
Run Code Online (Sandbox Code Playgroud)
我的项目中有多个pojo类,我希望能够将每个对象序列化为json。因此,我创建了新Serializer类(用于序列化的gson):
public class Serializer
{
public String toJson()
{
return new Gson().toJson(this);
}
}
Run Code Online (Sandbox Code Playgroud)
我的示例类扩展了Serializer:
public class TestClass extends Serializer
{
public String field1 = "Field1";
public String field2 = "Field2";
public String field3 = "Field3";
}
Run Code Online (Sandbox Code Playgroud)
而且我可以Serializer通过调用toJson方法来序列化扩展类的任何对象,如下所示:
TestClass test1 = new TestClass();
String json = test1.toJson();
Run Code Online (Sandbox Code Playgroud)
现在我想通过调用静态方法来构造类对象fromJson。所以我TestClass …
我有swagger 2.8.0,我的 POJO 类如下,
public class Item {
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate date;
@JsonFormat(pattern="HH:mm")
private LocalTime time;
// other fields and Getters and Setters are omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)
现在在 swagger-ui 的示例值部分,我的 POJO 模型显示为
{
"date": "string",
"time": {
"hour": 0,
"minute": 0,
"nano": 0,
"second": 0
}
}
Run Code Online (Sandbox Code Playgroud)
如何在 swagger-ui 中将 LocalTime 显示为字符串?
我正在使用 Spring boot 版本2.1.11spring-security-oauth2-autoconfigure 。在我的 中添加后pom.xml。运行应用程序时出现以下错误。
"java.lang.SecurityException: class "org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings"'s signer information does not match signer information of other classes in the same package"
Run Code Online (Sandbox Code Playgroud) 我正在尝试与 Joi 进行验证,但遇到了无法实现的场景。我有一个对象。在某些情况下,对象会有一个 id(编辑),而在其他情况下它不会(创建)。
我想验证在“id”不存在的情况下,应该有几个其他字段。
到目前为止,我唯一有效的解决方案是当 id 为空并且根本没有丢失时。有没有办法匹配不存在的密钥,或者我应该将其更改为 null (有点 hacky)。
joi.object().keys({
id: joi
.number()
.min(0)
.allow(null),
someOtherField1: joi.when("id", { is: null, then: joi.required() })
});
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我现在开始使用java8.我想知道如何迭代循环n次并添加到列表中:
List orderDayList = new ArrayList<>();
IntStream.rangeClosed(1, 28).forEach(value -> {
orderDayList.add(value);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码正在运行.这是正确的方法还是有其他方法可以实现?
谢谢
我有一个长度为 n 的单行字符串,我想将其分成最多 3 行。每行最多可以有 45 个字符,之后我想添加一个换行符(“\n”)。第 3 行最多可以有 42 个字符,如果字符串超出这个范围,我需要包含 3 个点 (...),从而使第 3 行的总字符数也达到 45 个。
条件是换行符不应添加在单词中间。我如何有效地做到这一点?这个操作只是整个程序的一小部分,但是会被重复调用。所以我不确定我是否应该真正担心效率。
我现在正在做的是,我首先找出单词之间的空格在哪里,然后将其添加到列表中。然后,我迭代列表并找到 3 个索引,每个索引代表每行的结束词。因此,第一个索引将是最接近 45 的空格,第二个最接近 90,第三个最接近 135。然后,我使用这些索引来分割实际字符串,并分别添加“\n”和“...”。这是我的代码:
//maxCharsPerLine will be 45
public String splitString(String input, int maxCharsPerLine){
String output = "";
ArrayList<Integer> spaces = new ArrayList<Integer>();
// Logic to figure out after which word the sentence should be split so that we don't split in middle of a word
for(int index = 0; index < input.length(); index++){
if(input.charAt(index)==' '){
spaces.add(index);
} …Run Code Online (Sandbox Code Playgroud) java ×9
java-8 ×3
java-9 ×2
algorithm ×1
for-loop ×1
generics ×1
inheritance ×1
java-stream ×1
javascript ×1
joi ×1
oauth-2.0 ×1
spring ×1
spring-boot ×1
string ×1
swagger ×1
swagger-2.0 ×1
swagger-ui ×1
types ×1
typescript ×1
validation ×1