小编Joh*_*ica的帖子

是否可以在接口中实现本机方法?

您经常听说接口中的方法没有实现。然而,在 Java 8 中,可以实现默认方法。但我很感兴趣。是否可以本地实现接口方法?(native方法)。

当面试问题被问到“是否可以在接口中实现方法?” 答案 - 您可以实现本机方法,并且从 Java 8 开始可以定义默认方法。” 这个答案正确吗?

java native-methods interface default-method

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

For循环不按顺序打印哈希图

我不明白为什么这没有按顺序打印哈希图。分配key的时候也是这样保存的吗?肉眼看来,它似乎是随机的。这对 Rust 来说正常吗?

use std::collections::HashMap;
use rand::Rng;

fn main() {
    let mut board = HashMap::new();
    
    for n in 0..99 {
        board.insert(n,0);
    }
    // board.insert(1, 0);

    for (key,value) in &board {
        println!("{}: {}", key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

21: 0
15: 0
90: 0
10: 0
52: 0
92: 0
32: 0
61: 0
91: 0
50: 0
28: 0
93: 0
64: 0
72: 0
75: 0
95: 0
98: 0
89: 0
57: 0
88: 0
9: 0
85: …
Run Code Online (Sandbox Code Playgroud)

hashmap rust

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

如何使用 sed 命令替换文件中两个单引号之间的文本?

假设我有文件:Address.txt

地址.txt

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '1234 North Street'
Work = '5678 South Street'
Run Code Online (Sandbox Code Playgroud)

如何'在特定使用sed命令或任何其他终端命令处替换特定两个标记之间的文本?

例如,更改Address.txt为:

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '147 East Avenue'
Work = '5678 South Street'
Run Code Online (Sandbox Code Playgroud)

更新 1:我想更改以Home = The 开头的行中的信息,之后的信息Home = 未修复。它可以是任何东西。例如,,,'Hello'甚至None'(什么也''没有)。

bash shell

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

使用 shell 脚本中的参数创建 JSON 文件

假设我想使用 bash 脚本创建一个文件,因此创建文件的命令将如下所示:

myscript hostgroup_one 2
Run Code Online (Sandbox Code Playgroud)

hostgroup_one和数量2是参数。

如何在下面的行中插入参数并将所有行输出为文件?

{
  "bool": {
    "should": [
      {
        "match_phrase": {
          "hostgroup.keyword": "$1"
        }
      }
    ],
    "minimum_should_match": $2
  }
}
Run Code Online (Sandbox Code Playgroud)

bash shell json

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

临时变量是否在语句结束时释放?

我试图找出临时变量何时被释放。我写了下面的代码。

#include <stdio.h>

class C
{
public:
    C()
    {
        printf("C O\n");
    }
    C(const C&)
    {
        printf("C& O\n");
    }
    virtual ~C()
    {
        printf("C D\n");
    }
};

int kkk(const C&)
{
    printf("kkk\n");
    return 0;
}
int kkk2(int)
{
    printf("kkk2\n");
    return 0;
}

int main()
{
    (kkk2( kkk2( (kkk(C()),3) ) ), printf("dsfsdfs\n"), true) && (printf("dsdddf\n"),true);
    printf("=====\n");
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

我期望C类在被调用后被释放kkk,但实际上,结果是:

C O
kkk
kkk2
kkk2
dsfsdfs
dsdddf
C D
=====
Run Code Online (Sandbox Code Playgroud)

我用 g++ clang++ 和 msvc++ 运行代码,结果是一样的。C 类在声明结束时释放。

在语句末尾释放临时变量是 C++ 标准吗?

c++

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

如何将两个范围连接成 Vec

如何制作Vec包含[0,1,2,3,4,3,2,1,0]使用范围?我试过这个:

let mut a = vec![0..len];
let  b = vec![len..=0];
a.extend(&b);
Run Code Online (Sandbox Code Playgroud)

但它会引发一个错误:

let mut a = vec![0..len];
let  b = vec![len..=0];
a.extend(&b);
Run Code Online (Sandbox Code Playgroud)

rust

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

语句的逻辑等价

一般来说,在Python中,嵌套if语句在逻辑上是否等同于其中的if语句?and所以会:

lista = ["1", "2"]
if "1" in lista and not "3" in lista:
     print("True")
Run Code Online (Sandbox Code Playgroud)

与以下相同:

lista = ["1", "2"]
if "1" in lista:
   if not "3" in lista:
       print("True")
Run Code Online (Sandbox Code Playgroud)

或者Python对它们有不同的对待吗?

python

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

如何在倒数第二个斜杠上分割?

我想在倒数第二个斜杠上分割一个字符串,

/tmp/fold/merge/annots所以如果我有一个像我想要获取/tmp/fold/并返回的字符串merge/annots

同样,如果我有/tmp/long/dir/fold/merge/annots我想要得到/tmp/long/dir/fold/并且merge/annots

最好的方法是什么?我已经尝试rsplitsplit几次但没有得到我想要的

python

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

为什么 HashMap 会忽略具有来自同一超类的键的条目?

我创建了一个带有内部地图的地图作为测试,看起来外部地图将忽略其余的地图。我认为它会压倒他们。我还认为这是因为它们都是从 Map 扩展的,所以当它们不是时,它将它们视为同一个实例。

Map<Map<Integer, String>,String> maps=new HashMap<>();
maps.put(new HashMap<Integer, String>(),"HashMap");
maps.put(new TreeMap<Integer, String>(),"TreeMap");
maps.put(new LinkedHashMap<Integer, String>(),"LinkedHashMap");
maps.put(new Hashtable<Integer, String>(),"Hashtable");
Run Code Online (Sandbox Code Playgroud)

将地图打印到日志将仅显示最后添加的地图:

maps: {{}=Hashtable}
Run Code Online (Sandbox Code Playgroud)

我尝试了其他 Map 实现,除了 TreeMap 之外,所有实现都具有相同的行为,由于 HashMap 没有实现,它会抛出异常Comparable

这是预期的行为吗?为什么 HashMap 会有这样的行为?

java collections dictionary hashmap

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

加1个leetcode

我在leetcode上做一道题,66.加一

给定一个大整数,表示为 整数数组digits,其中每个数字digits[i]都是i该整数的第 3 位。这些数字按从左到右的顺序从最高有效位到最低有效位排序。大整数不包含任何前导 0。

将大整数加一并返回结果数字数组。

实施例1

  • 输入:digits = [1,2,3]

  • 输出:[1,2,4]

    解释:该数组代表整数 123。
    加 1 得到 123 + 1 = 124。
    因此,结果应该是[1,2,4]

我的解决方案是:

class Solution {  
    public int[] plusOne(int[] digits) {  
        int num = 0;  
        for (int a : digits) {  
            num = 10*num + a;  
        }  
        int n=num+1;  
        String str=String.valueOf(n);  
        int arr[]=new int[str.length()];  
        for(int i=0;i<str.length();i++){  
            arr[i]=str.charAt(i)-'0';  
        }  
        return arr;  
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到很多测试用例失败,其中之一是:

Input:
[9,8,7,6,5,4,3,2,1,0]  
Output:
[1,2,8,6,6,0,8,6,1,9] …
Run Code Online (Sandbox Code Playgroud)

java

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