小编M06*_*06H的帖子

如何使用基于另一个列表的lambda从列表中删除元素

我有文件路径列表:.

List<Path> filePaths; //e.g. [src\test\resources\file\15\54\54_exampleFile.pdf]
Run Code Online (Sandbox Code Playgroud)

54 以上是指文件ID

然后,我获得了一个我的应用程序可以处理SetStringID,如下所示:

Set<String> acceptedIds = connection.getAcceptedIDs(); //e.g. elements [64, 101, 33]
Run Code Online (Sandbox Code Playgroud)

如何使用Java 8 lambdas来filter排除filePaths其中不包含acceptedIds集合Set中包含的任何可接受的ID的所有元素.

换句话说,我只想保留filePaths具有acceptedIdsset中的id的路径.例如,54不在上面的列表中,因此被删除.

filePaths.stream().filter(...).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

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

未知模式字母:T - 使用模式 T 将字符串日期解析为 LocalDateTime

我需要将 String 中的以下日期格式解析为 Java LocalDateTime

所以我把日期作为字符串是这样的: 2019-09-20T12:36:39.359

我有以下单元测试:

@Test
public void testDateTime() {
    assertEquals(SomeObject.getLocalDate(), LocalDateTime.parse(“2019-09-20T12:36:39.359”, DateTimeFormatter.ofPattern("yyyy-MM-ddThh:mm:ss.SSS")));
}
Run Code Online (Sandbox Code Playgroud)

单元测试失败,但有异常:

java.lang.IllegalArgumentException: Unknown pattern letter: T

    at java.time.format.DateTimeFormatterBuilder.parsePattern(DateTimeFormatterBuilder.java:1661)
    at java.time.format.DateTimeFormatterBuilder.appendPattern(DateTimeFormatterBuilder.java:1570)
    at java.time.format.DateTimeFormatter.ofPattern(DateTimeFormatter.java:536)
Run Code Online (Sandbox Code Playgroud)

如何正确解析这种格式的日期LocalDateTime

java date localdate

7
推荐指数
3
解决办法
9328
查看次数

在spring框架中的类路径资源[application-context.xml]中定义名称时创建bean的错误

<bean id="MyDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>

    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg value="MyDataSource"/>
    </bean>
Run Code Online (Sandbox Code Playgroud)

在类路径资源[application-context.xml]中定义名称为"template"的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)

我不确定我在这里做错了以获得上述错误?使用正确的变量名称正确地在属性文件中定义所有内容.有什么需要检查的?

java xml spring spring-mvc

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

使用LocalDate上个月的最后一个工作日

public static String getLastWorkingDayOfPreviousMonth() {

    LocalDate lastDayOfCurrentMonth = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());
    LocalDate lastWorkingDayOfMonth;

    switch (DayOfWeek.of(lastDayOfCurrentMonth.get(ChronoField.DAY_OF_WEEK))) {
        case SATURDAY:
            lastWorkingDayOfMonth = lastDayOfCurrentMonth.minusMonths(1);
            break;
        case SUNDAY:
            lastWorkingDayOfMonth = lastDayOfCurrentMonth.minusMonths(2);
            break;
        default:
            lastWorkingDayOfMonth = lastDayOfCurrentMonth;
    }

    return getFormattedDate(lastWorkingDayOfMonth);
}
Run Code Online (Sandbox Code Playgroud)

以上是本月的最后一个工作日.如何Previous调整上述工作日的最后一个工作日?

java date java-time localdate

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

使 SimpleDateFormat 线程安全

我有许多线程处理Trade对象,我使用 aRowMapper将数据库列映射到Trade对象。

我知道SimpleDateFormat在任何 Java 中都不是线程安全的。结果,我在startDate. 例如,我看到日期endDate也在startDate.

这是我的代码:

public class ExampleTradeMapper {

    private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MMM-yyyy");

    public void map(Trade trade, ResultSet rs, int rowNum) throws SQLException {    

        trade.setStartDate(getFormattedDate(rs.getDate("START_DATE")));
        trade.setEndDate(getFormattedDate(rs.getDate("END_DATE")));
        trade.setDescription(rs.getString("DESCRIPTION"));

    }

    private String getFormattedDate(Date date) {
        try {
            if (date != null)
                return DATE_FORMAT.format(date).toUpperCase();
            else
                return null;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}


public class SomeRowMapper extends TradeMapper …
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-safety simpledateformat

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

生产者Java中的消费者问题

public class SomeAdaptor implements SomeListener {

    public ConcurrentHashMap<String, Double> pendingRFQ; 

    @Override
    public void run() {
       pendingRFQ.put(response.getId(), price);
    } //first run method

    @Override
    public void run() {
         Double price = pendingRFQ.get(quoteEvent.getId());
         if (price != null)
            System.out.println("ORDER TO Market.....");
    } //2nd run method
Run Code Online (Sandbox Code Playgroud)

我有一些线程问题.pendingRFQ当我尝试在第二种run()方法中提取价格时,地图不是最新的.我可以在第二种run()方法中执行哪些技术来确保我正在查找的值?或者我怎么能让它等到它进来?

java multithreading asynchronous

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