小编Jun*_*aid的帖子

Java 8:流的映射函数中的多个条件

如何在流的map函数中使用多个条件?我是 Java 流的新手,实际上我想在流映射中使用多个条件,例如:

List<String> cs = Arrays.asList("agent", "manager", "admin");

List<String> replace = cs.stream()
.map(p -> p.equals("agent") ? "manager" : p || p.equals("manager") ? "agent" : p )
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我想要的是用经理代替代理人,用代理人代替经理。也就是说,如果列表中存在代理,则将其替换为经理,如果经理存在,则将其替换为代理。

java java-8 java-stream

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

JavaFx:如何实现动态 Gridpane?

我正在 JavaFx 中开发一个应用程序,其中有两个选项卡。

在第一个选项卡中,我有 ComboBox:

在此处输入图片说明

在第二个选项卡中,我有这样的 Gridpane:

在此处输入图片说明

我想要的是当用户从 Tab A 的组合框中选择 let say 3 时,例如:

在此处输入图片说明

它应该向 Tab B 的 Gridpane 添加 3 行,每列添加文本字段、复选框和日期选择器。A 列具有文本字段,B 列具有复选框,C 列具有 DatePicker,如下所示:

在此处输入图片说明

请帮助我如何实现这一点,并在实现之后如何访问每个文本字段、复选框和日期选择器的数据。

更新:尝试用 FXML 做 @Yahya 解决方案

主程序

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            TabPane root = (TabPane)FXMLLoader.load(getClass().getResource("Sample.fxml"));
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

示例控制器.java

public class SampleController …
Run Code Online (Sandbox Code Playgroud)

java user-interface javafx javafx-2 javafx-8

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

如何避免时差之间的负时间?

我正在开发一个我正在使用Java8 Time的应用程序.我正面临一个问题.

假设时间A是08:00,时间B是17:00,所以这两次之间的差异将是9h,在我的情况下是正确的,但如果时间A是18:00而时间B是02:00它应该是8h,但在我的情况下我的程序返回-16.请有人指导我如何解决这个问题.

我的代码:

@Test
public void testTime()
{
    DateTimeFormatter format = DateTimeFormatter.ofPattern("HH:mm");

    String s = "18:00";
    String e = "02:00";

    // Parse datetime string to java.time.LocalDateTime instance
    LocalTime startTime = LocalTime.parse(s, format);
    LocalTime endTime = LocalTime.parse(e, format);

    String calculatedTime = ChronoUnit.HOURS.between(startTime, endTime)%24 + ":"
            + ChronoUnit.MINUTES.between(startTime, endTime)%60;

    System.out.println(calculatedTime);

}
Run Code Online (Sandbox Code Playgroud)

java time localtime java-8 java-time

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

Spring Boot:如何有效地更新对象?

大家好,我是 Spring 世界的新手。其实我想知道如何使用转换器来更新对象,而不是使用 set 和 get 来一一更新每个元素。现在在我的控制器中我有:

    @PostMapping("/edit/{userId}")
    public Customer updateCustomer(@RequestBody Customer newCustomer, @PathVariable final String userId)
    {
        return customerService.update(userId, newCustomer);
    }
Run Code Online (Sandbox Code Playgroud)

这就是我更新客户对象的方式:

    @Override
    public Customer update(String id, Customer newCustomer) {
        Customer customer = customerRepository.findById(id).get();

        customer.setFirstName(newCustomer.getFirstName());
        customer.setLastName(newCustomer.getLastName());
        customer.setEmail(newCustomer.getEmail());

        return customerRepository.save(customer);
    }
Run Code Online (Sandbox Code Playgroud)

我不想使用每次设置和获取,而是使用转换器。

java spring spring-mvc spring-data-jpa spring-boot

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

Hybris:如何使用impex导入?

我正在尝试使用 impex 导入产品,但脚本不起作用我不明白为什么。这是我的脚本:

insert TaxRow ; &Item ; catalogVersion(catalog(id),version) ; creationtime[forceWrite=true,dateformat=dd.MM.yyyy hh:mm:ss] ; currency(isocode) ; endTime[dateformat=dd.MM.yyyy hh:mm:ss] ; modifiedtime[dateformat=dd.MM.yyyy hh:mm:ss] ; owner(&Item)[allownull=true] ; pg(code,itemtype(code))     ; product(catalogVersion(catalog(id),version),code) ; productId[forceWrite=true] ; productMatchQualifier ; startTime[dateformat=dd.MM.yyyy hh:mm:ss] ; tax(code)[allownull=true,forceWrite=true] ; ug(code,itemtype(code)) ; user(uid) ; userMatchQualifier ; value
              ; Item0 ; hybrisProductCatalog:Staged         ; 18.02.2019 04:00:18                                          ;                   ;                                         ; 18.02.2019 04:00:18                          ;                              ; standard:ProductTaxGroup    ;                                                   ;                            ; 8 796 129 198 171     ;                                           ; standard                                  ;                         ;           ; 0                  ;      
              ; Item1 ; hybrisProductCatalog:Staged         ; 30.05.2017 …
Run Code Online (Sandbox Code Playgroud)

java import spring hybris impex

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

Java:如何检查给定时间是否介于两次之间?

我想检查目标时间是否在两个给定时间之间,而不考虑使用Java8时间的日期.假设开始时间是"21:30",结束时间是"06:30",目标时间是"03:00",所以程序应该返回true.

    @Test
    public void posteNuit()
    {
        DateTimeFormatter format = DateTimeFormatter.ofPattern("HH:mm");

        String s = "21:30";
        String e = "06:30";

        String t = "03:00";

        LocalTime startTime = LocalTime.parse(s, format);
        LocalTime endTime = LocalTime.parse(e, format);
        LocalTime targetTime = LocalTime.parse(t, format);

        if ( targetTime.isBefore(endTime) && targetTime.isAfter(startTime) ) {
            System.out.println("Yes! night shift.");
        } else {
            System.out.println("Not! night shift.");
        }
    }
Run Code Online (Sandbox Code Playgroud)

java time java-8 java-time

0
推荐指数
1
解决办法
1305
查看次数

角:如何将一个数组复制到另一个?

我将一个数组设置为等于另一个

        orders = [
           {
            'id': PROCESSING,
            'displayName': 'Processing'
           },
           {
            'id': SHIPPED,
            'displayName': 'Shipped'
           }
        ];

        cloneOrders = [];

setOrders() {
        this.orders.forEach((order: any) => {
                this.cloneOrders = order;
        });
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在另一个函数中获取“ cloneOrders”的值时,它将返回一个空数组

getOrders(status, minutes) {
        this.cloneOrders .forEach((order: any) => {
                console.log(order);
        });
    }
Run Code Online (Sandbox Code Playgroud)

两种功能都在同一组件中。请帮助我如何解决此感谢。

typescript angular

0
推荐指数
1
解决办法
1232
查看次数

Android:如何在每10分钟后执行一次功能?

         /**
         * Send Button click event.
         **/
        send.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                      NetAsync(view);

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

在点击事件中,"NetAsync(视图)"执行并将gps坐标发送到服务器,但我想要的是,当用户启动应用程序"NetAsync(view)"时,每10分钟后自动执行,而不是使用按钮点击事件.请告诉我如何做到这一点,因为我是Android编程的新手.

android

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