问题列表 - 第318072页

Kotlin 在访问 Map 条目方面过于宽松

现在 Kotlin 中的一些事情让我非常沮丧,我不知道如何解决这个问题:

    val map = mapOf(1 to "one")
    val value = map[1] // value is String? instead of String
    val certainlyNot = map[999] // value is String? instead of compiler error
Run Code Online (Sandbox Code Playgroud)

在我看来,编译器应该能够推断出1键的值类型 String ,并且在尝试访问999键时应该阻止编译。

哪种数据结构更适合我的需求?

编辑:上下文 - >我需要访问像这样的循环中的值

    for (key in map.keys) {
        val myValue = map[key] // myValue is String?
                               // but I don't understand why I am forced to do null checks
                               // when the key in question is certainly in the map …
Run Code Online (Sandbox Code Playgroud)

kotlin

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

如何使用 Java 流来映射项目

我是 Java 新手,开始学习java streams. 我已经理解了filter如何使用流,但是理解map正在成为一个挑战。

我有一个Person.java代码

public class Person {

    // Fields
    private String name;
    private int age;
    private String gender;

    // Constructor
    public Person( String name,  int age,  String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    // Getters
    public String getName() {
        return this.name;
    }
    public int getAge() {
        return this.age;
    }
    public String getGender() {
        return this.gender;
    }

    // Setters
    public void setName(String name) { …
Run Code Online (Sandbox Code Playgroud)

java java-stream

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

RISC-V处理器中是否有CSR寄存器显示当前PC值?

我们正在做一个项目,其中arm64处理器是主处理器,加速器设备内部有RISC-V。并且可以从ARM64处理器访问RISC-V处理器的CSR寄存器(地址映射)。顺便说一句,我们的设计人员出于我们的目的定义并添加了一些 CSR 寄存器。

RISC-V处理器中是否有CSR寄存器显示当前PC值?或者只能从 RISC-V 内核内部使用auipc x1, 0设置 RISC-V 寄存器之类的指令来读取 PC?我发现一些CSR寄存器是为异常PC或陷阱向量定义的,但在CSR寄存器列表中找不到当前的真实PC值。

我想读取RISC-V内核的PC值,看看RISC-V指令是否正在处理。但是,如果 PC 值未反映在这些 CSR 寄存器之一中,我将无法从 arm64 处理器读取 PC 值。我的理解正确吗?

assembly riscv

5
推荐指数
0
解决办法
73
查看次数

为什么禁止将 `int**const` 强制转换为 `const int**const`

允许以下情况:

    int * const p1 = nullptr;
    auto p2 = static_cast< const int * const >( p1 );
Run Code Online (Sandbox Code Playgroud)

在我的理解中p1,是一个"const-ptr to int",它被转换为一个 "const-ptr to const-int"。

为什么以下内容被禁止

    int * * const pp1 = nullptr;
    auto pp2 = static_cast< const int * * const >( pp1 );
Run Code Online (Sandbox Code Playgroud)

在我的理解中,pp1“ const-ptr to ptr to int”应转换为“const-ptr to ptr to const-int”。因此我添加const,所以我认为这是允许的。

c++ casting const-cast

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

PageSpeed Insight 显示 Angular SPA 应用程序性能较低

我正在运行一个 Angular 应用程序,该应用程序在移动版 PageSpeed Insight 中显示得分非常低(移动版为 41,桌面版为 86)。

我在这里附上错误的屏幕截图。

我确实需要一些帮助来解决这些问题。你得到的任何建议都会很棒!

有关该应用程序的一些详细信息

  • 角17.1
  • 我延迟加载了所有路由并仅使用独立组件
  • 该应用程序确实有一些第三方库示例:Angular Material、Ngrx、Chartjs...

页面速度测试

移动分数低 - 41 移动分数低 - 41

减少 JavaScript 执行时间 1.5 秒 减少 JavaScript 执行时间 1.5 秒

最小化主线程工作 2.4 秒 最小化主线程工作 2.4 秒

最大内容绘制元素 5,640 ms 最大内容绘制元素 5,640 ms

performance pagespeed lighthouse angular pagespeed-insights

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

如何使用 RandomAccessIterator 检查 std::vector 是否为空?

我编写了一个函数,它需要向量上的一对 RandomAccessIterators 来对其进行排序。这很好用。我编写了一个表现出奇怪行为的测试用例。

我的功能的“模拟”:

#include <vector>
#include <iostream>
#include <cassert>

int main(){

    std::vector<int> testing = std::vector<int>(0);

    assert(testing.begin() <= (testing.end()-1)); //why no fail?

    std::cout << (testing.begin() <= (testing.end())); //prints 1
    std::cout << (testing.begin() <= (testing.end()-1)); //prints 1 unexpectedly

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

当向量testing为空时,我希望函数不执行任何操作或抛出异常。我不知道哪一个更好。欢迎提出建议。

我已阅读有关迭代器的 C++ 文档,并且知道当测试为空时(testing.begin() <= testing.end()) 进行评估,因为空向量的开始和结束是相同的。True

为什么testing.end()-1的计算结果不小于testing.begin()?我该怎么做才能获得所需的行为,即异常或立即返回?

c++ iterator std

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

带有独立组件的 VSCode Intellisense Angular

我最近将一个中型项目迁移到角度独立组件。我确实喜欢它,并且看到这种方法有很多优点。

但是,有一件事让我很困扰,使用 VSCode 编写模板时我不再有自动完成功能,因为我还没有在组件中导入依赖项。我真的很希望它能够自动完成然后自动导入依赖项。我也希望它也能删除未使用的导入(似乎更复杂)。我注意到,如果输入组件,则有一个“快速修复”选项,可以添加缺少的导入,但仅适用于标签,而且我仍然需要编写完整的标签。

我在某处读到 WebStorm 可以处理它,但它不是一个选项 atm。团队如何处理这个问题,以继续有效地编码?

intellisense visual-studio-code angular

7
推荐指数
0
解决办法
110
查看次数

计算具有已知频率和缺失数据的数据的时间戳

我的数据如下,其中“S”类型的数据包含时间戳,我需要将时间戳分配给“D”行。

   type  timestamp               count
   <chr> <dttm>                  <int>
 1 $     NA                         NA
 2 D     NA                        229
 3 M     NA                         NA
 4 D     NA                        230
 5 D     NA                        231
 6 D     NA                        232
 7 D     NA                        233
 8 D     NA                        234
 9 D     NA                        235
10 D     NA                        236
11 D     NA                        237
12 D     NA                        238
13 D     NA                        239
14 S     2024-01-24 16:11:11.000    NA
15 D     NA                        241
16 D     NA                        242
17 D     NA                        243
18 D     NA                        126 …
Run Code Online (Sandbox Code Playgroud)

timestamp r dplyr data.table

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

使用Powershell将文本文件转换为csv文件

如果我有一个简单的文本文件,显示用户的名字、中间名(如果有)、姓氏和电子邮件地址,是否有一种快速方法可以使用 Powershell 甚至 Excel 将其转换为 csv 格式?CSV 文件只需显示名字、姓氏(可以是中间名和姓氏的组合)和电子邮件地址。

例如,如果我有一个如下文本文件:

James Tiberius Kirk       james.kirk@starfleet.com
Leonard McCoy             leonard.mccoy@starfleet.com
Run Code Online (Sandbox Code Playgroud)

我想按如下方式转换为 csv:

FirstName,LastName,EmailAddress
James,TiberiusKirk,james.kirk@starfleet.com
Leonard,McCoy,leonard.mccoy@starfleet.com
Run Code Online (Sandbox Code Playgroud)

除了手动之外,我不知道该怎么做,这对于大型文本文件来说非常耗时。

csv powershell

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

在 Flutter 的 FutureBuilder 中检查 `snapshot.hasData` 和 `snapshot.data != null` 是否多余?

我正在使用 Flutter FutureBuilder,并发现了一种模式,在 渲染小部件之前检查 和snapshot.hasData : snapshot.data != null

FutureBuilder(
  future: future,
  builder: (BuildContext context, AsyncSnapshot snapshot) {
    if (snapshot.hasData && snapshot.data != null) {
      return widgetToBuild;
    } else if (snapshot.hasError) {
      return Icon(Icons.error_outline);
    } else {
      return CircularProgressIndicator();
    }
  }
)
Run Code Online (Sandbox Code Playgroud)

在检查 的源代码后AsyncSnapshot,我注意到被hasData定义为trueif datais not null:

bool get hasData => data != null;
Run Code Online (Sandbox Code Playgroud)

snapshot.hasData鉴于此实现,检查和是否多余snapshot.data != null?还不够snapshot.hasData,因为它本质上检查是否data不是null?

我很好奇是否存在两种检查都可能是必要的情况,或者这是否只是 …

future dart flutter flutter-futurebuilder

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