小编Hai*_*ang的帖子

为什么Java没有EmptyQueueException?

pop方法中java.util.Stack,EmptyStackException如果Stack为空,则抛出一个.但是remove的方法java.util.Queue(其类似于popStack类),而不是将抛出NoSuchElementException.为什么Java中存在这种不一致?

java

26
推荐指数
3
解决办法
2851
查看次数

Java流合并或减少重复的对象

我需要通过将所有重复的条目合并到一个对象中从列表中生成一个唯一的朋友列表可以有重复项
示例 - 从不同的社交订阅源获取朋友并将其放入1个大列表中
1.朋友 - [姓名:"Johnny Depp", dob:"1970-11-10",来源:"FB",fbAttribute:".."]
2.朋友 - [姓名:"Christian Bale",dob:"1970-01-01",来源:"LI" ,liAttribute:".."]
3.朋友 - [姓名:"Johnny Depp",dob:"1970-11-10",来源:"Twitter",twitterAttribute:".."]
4.朋友 - [姓名: "Johnny Depp",dob:"1970-11-10",来源:"LinkedIn",liAttribute:".."]
5.朋友 - [姓名:"Christian Bale",dob:"1970-01-01",来源:"LI",liAttribute:".."]

预期输出
1.朋友 - [姓名:"Christian Bale",dob:"1970-01-01",liAttribute:"..",fbAttribute:"..",twitterAttribute:".."]
2.朋友 - [名称:"Johnny Depp",dob:"1970-11-10",liAttribute:"..",fbAttribute:"..",twitterAttribute:".."]

问题 - 如何在不使用任何中间容器的情况下合并?我可以轻松地使用中间映射并对条目的每个值应用reduce.

List<Friend> friends;
Map<String, List<Friend>> uniqueFriendMap
    = friends.stream().groupingBy(Friend::uniqueFunction);
List<Friend> mergedFriends = uniqueFriendMap.entrySet()
    .stream()
    .map(entry -> {
           return entry.getValue()
                .stream()
                .reduce((a,b) -> friendMergeFunction(a,b));
    })
    .filter(mergedPlace -> mergedPlace.isPresent())
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我喜欢这样做而不使用中间Map uniqueFriendMap.有什么建议?

java reduce merge list java-stream

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

如何使ZoneOffset UTC返回“ +00:00”而不是“ Z”

是否有任何内置在Java方法返回"+00:00"ZoneOffsetUTC?该getId()方法仅返回"Z"

我当前的方法是手动将其更改"+00:00"为结果是否为"Z"

public static String getSystemTimeOffset() {
    String id = ZoneOffset.systemDefault().getRules().getOffset(Instant.now()).getId();
    return "Z".equals(id) ? "+00:00" : id;
}
Run Code Online (Sandbox Code Playgroud)

java timezone-offset

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

Java-比较两个ZonedDateTime时的结果不符合预期

我有这个代码:

ZonedDateTime t1 = ZonedDateTime.parse("2018-04-06T10:01:00.000+03:00");
ZonedDateTime t2 = ZonedDateTime.parse("2018-04-06T10:01:00.000-03:00");
System.out.println(t1.compareTo(t2));
Run Code Online (Sandbox Code Playgroud)

结果是-1。我想它将把t1和t2都转换为相同的时区,然后进行比较。例如,在第一种情况下,它将(可能)进行比较

t1 = 2018-04-06T07:01:00.000+00:00 to t2 = 2018-04-06T13:01:00.000+00:00
Run Code Online (Sandbox Code Playgroud)

如我所料,此案例返回1

ZonedDateTime t1 = ZonedDateTime.parse("2018-04-06T17:01:00.000+03:00");
ZonedDateTime t2 = ZonedDateTime.parse("2018-04-06T10:01:00.000-03:00");
System.out.println(t1.compareTo(t2));
Run Code Online (Sandbox Code Playgroud)

但是这个(*)不返回0,而是返回1:

ZonedDateTime t1 = ZonedDateTime.parse("2018-04-06T16:01:00.000+03:00");
ZonedDateTime t2 = ZonedDateTime.parse("2018-04-06T10:01:00.000-03:00");
System.out.println(t1.compareTo(t2));
Run Code Online (Sandbox Code Playgroud)

我什至尝试truncatedTo(ChronoUnit.MINUTES)在解析字符串后使用以忽略秒部分,但没有任何变化。

最有趣的是,如果我将t1 / t2减少/增加一秒,结果将为-1

例如:

ZonedDateTime t1 = ZonedDateTime.parse("2018-04-06T16:01:00.000+03:00");
ZonedDateTime t2 = ZonedDateTime.parse("2018-04-06T10:01:01.000-03:00");
System.out.println(t1.compareTo(t2));
Run Code Online (Sandbox Code Playgroud)

在我的用例中,所有用户输入时间将以上述格式保存在许多ZoneOffset中,并且我有一些查询需要将其与服务器时间进行比较(忽略时间的秒数)。在上述情况(*)下,如何使t1等于t2?

java zoneddatetime

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

按下tab后如何让powershell显示建议列表?

在我公司的电脑中,当我在 powershell 中输入内容后按 Tab 键时,它会显示一个建议列表,我可以使用箭头键选择列表中的项目。例如,这是我键入“fin”然后按 tab 时的结果:

在此处输入图片说明

如何配置 powershell 以显示该列表?我尝试将 powershell 配置文件复制到我的笔记本电脑并导入必要的模块,但它不像图片那样工作(外壳只显示与我键入的内容匹配的第一件事,对于上面的示例,它显示了Find-Command我键入fin并按 Tab 的时间,但不是列表)

这是个人资料:

function Test-Administrator {
    $user = [Security.Principal.WindowsIdentity]::GetCurrent();
    (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Sorin

Import-Module Get-ChildItemColor

Set-Alias l Get-ChildItemColor -option AllScope
Set-Alias ls Get-ChildItemColorFormatWide -option AllScope

function cddash {
    if ($args[0] -eq '-') {
        $pwd = $OLDPWD;
    } else {
        $pwd = $args[0];
    }
    $tmp = pwd;

    if ($pwd) {
        Set-Location $pwd;
    }
    Set-Variable -Name OLDPWD -Value $tmp -Scope …
Run Code Online (Sandbox Code Playgroud)

powershell

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

这个 HTML 文本是什么样的?

我在这个网站上遇到了一些奇怪的文字。当我复制时,格式被保留,我无法摆脱它们。即使当我创建文件夹并将文本粘贴为文件夹名称时,格式仍然存在。

在此输入图像描述

我也用JS试过,也没用。

在此输入图像描述

这是什么?我怎样才能用html生成它?

html

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

在未连续分配的函数中是否通过值变量和局部变量传递变量?

我想知道变量在堆栈上的分配方式,所以我做了一个小的测试程序

#include <iostream>
#include <stdlib.h>
using namespace std;

class test
{
public:
    test()
    {

    }
    test(const test &obj)
    {
        cout << "a clone of test has been created" << endl;
    }
};

void foo(test variable_01, test variable_02)
{
    cout << "v3 and v4 have not been created" << endl;
    char variable_03;
    char variable_04;
    cout << "v3 and v4 have been created" << endl;

    cout << "Adrress of variable 01: " << static_cast<void*>(&variable_01) << endl;
    cout << "Adrress of variable 02: …
Run Code Online (Sandbox Code Playgroud)

c++ memory local-variables

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