小编Jul*_*lez的帖子

IntStream rangeClosed无法返回int以外的值

为什么会出错?我以为map可以回报任何价值.

var s = IntStream.rangeClosed(1, 5).map(String::valueOf).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

| 错误:| 不兼容的类型:方法引用中的错误返回类型| java.lang.String无法转换为int | var s = IntStream.rangeClosed(1,5).map(String :: valueOf).collect(Collectors.toList()); |
^ ^ -------------

java lambda java-8 java-stream

15
推荐指数
3
解决办法
523
查看次数

Java 8 中带有流到 HashMap 的字符串集

如何使用流从字符串集合中创建字符串的 HashMap 和字符串列表?

Set<String> mySet;
Map<String, List<String>> = mySet.stream().map(string -> {
   // string will be my key
   // I have here codes that return List<String>
   // what to return here?
}).collect(Collectors.toMap(.....)); // what codes needed here?
Run Code Online (Sandbox Code Playgroud)

谢谢你。

java hashmap set java-8 java-stream

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

StringJoiner从每行的第一位置删除分隔符

我有以下代码:

StringJoiner stringJoiner = new StringJoiner(",");
List<Person> persons = Arrays.asList(new Person("Juan", "Dela Cruz"), new Person("Maria", "Magdalena"), new Person("Mario", "Santos"));
persons.forEach(person -> {
    stringJoiner.add(person.getFirstName()).add(person.getLastName() + System.lineSeparator());
});
Run Code Online (Sandbox Code Playgroud)

我想要的输出格式是:

Juan,Dela Cruz
Maria,Magdalena
Mario,Santos
Run Code Online (Sandbox Code Playgroud)

但是,根据上述代码,结果为:

Juan,Dela Cruz
,Maria,Magdalena
,Mario,Santos
Run Code Online (Sandbox Code Playgroud)

如何摆脱定界符,作为每一行的第一个字符?

谢谢。

java string java-8

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

Spring Data JPA ManyToOne 和 OneToMany - 无法找到具有 ID 的实体

我有三个表 - roleuseruser_role。这应该是ManyToMany,但因为我也想为 生成 id user_role,所以我使用了OneToManyManyToOne

以下是我的实体,仅包含相关字段:

@Entity
public class Role {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private Integer id;
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "role")
    private Set<UserRole> userRoles;
}

@Entity
public class User {
    @Id
    private String id;
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "user")
    private Set<UserRole> userRoles;
}

@Entity
public class UserRole {
    @Id
    private String id;
    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;
    @ManyToOne
    @JoinColumn(name = "role_id")
    private …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa spring-data-jpa

5
推荐指数
2
解决办法
5726
查看次数

使用Java 8 Stream返回没有副作用的Map地图

如何在没有副作用的情况下添加/添加eServiceReportsMapByBatchFile键?oldReportIdeServiceReportMap

Map<String, Map<String, Set<EServiceReport>>> eServiceReportMap = new HashMap<>();
reports.forEach(report -> {
    String oldReportId = report.getOldId();
        Map<String, Set<EServiceReport>> eServiceReportsMapByBatchFile = // processing of batch files
        ...
    eServiceReportMap.put(oldReportId, eServiceReportsMapByBatchFile);
});

return eServiceReportMap;
Run Code Online (Sandbox Code Playgroud)

也就是说,我希望它变成这样:

return reports.stream()
    .map(report -> {
        String oldReportId = report.getOldId();
        Map<String, Set<EServiceReport>> eServiceReportsMapByBatchFile = // processing of batch files
        ...
        // I don't know how and what to return here
    }).collect(// I don't know what to do here);
Run Code Online (Sandbox Code Playgroud)

谢谢.

java hashmap java-8 java-stream

4
推荐指数
1
解决办法
155
查看次数

Java流计数操作直到整数变为0

如何使用给定整数N的Java流,如果N是奇数,则从中减去1,如果N是偶数,则除以2,直到N变为0?

这是我使用程序样式的工作代码:

public static int solution(int num) {
    int counter = 0;
    while(num != 0) {
        num = (num % 2 == 0) ? num / 2 : num - 1;
        counter++;
    }

    return counter;
}
Run Code Online (Sandbox Code Playgroud)

java java-stream

3
推荐指数
1
解决办法
76
查看次数

在 RESTful Web 服务中按 ID 和用户名查找

我很困惑单例资源的最佳偏好是什么。我想要具有用户 ID 的端点:

/users/{id}

但我也想username作为参数:

/users/{username}

我正在使用 Spring MVC(通过 Spring Boot),它说 2 个端点存在冲突。所以我决定首先为用户检索单例资源。但是为了让客户端仍然使用用户名作为参数,我添加了用户名作为用户集合资源的查询参数:

/users?username=<username>

在我repositoryservice层,回报是Optional<User>,即它是emptyor 或one userresult。但是在 中controller,我将其包装在 a 中list,无论是空的还是一个,以使其与/usersas 列表的返回一致。

这是合理的设计吗?或者有没有更好的设计?谢谢。

java rest spring-mvc restful-url

3
推荐指数
1
解决办法
2617
查看次数

Bootstrap侧边栏上图标旁边的文本对齐

我正在尝试从Bootstrap 修改仪表板。我在侧边栏上的文本之前添加了类似于图标。我确实检查了后者,但是它没有一些特殊的CSS代码来使文本具有一致的空格和对齐方式。

这是我的代码:

<ul class="nav nav-pills flex-column">
    <li class="nav-item">
        <a class="nav-link" href="/">
            <div>
                <i id="icon-dashboard" class="fa fa-tachometer icon" aria-hidden="true"></i>
                <span class="nav-link-text">Dashboard</span> <span class="sr-only">(current)</span>
            </div>
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="/books">
            <div>
                <i id="icon-book" class="fa fa-book icon" aria-hidden="true"></i>
                <span class="nav-link-text">Book</span>
            </div>
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="/transactions">
            <div>
                <i id="icon-transaction" class="fa fa-handshake-o icon" aria-hidden="true"></i>
                <span class="nav-link-text">Transaction</span>
            </div>
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="/reports">                                
            <div></div>
            <div>
                <i id="icon-report" class="fa fa-bar-chart icon" aria-hidden="true"></i>
                <span class="nav-link-text">Report</span>
            </div> …
Run Code Online (Sandbox Code Playgroud)

css html5 icons sidebar bootstrap-4

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