小编Col*_*dal的帖子

为什么JVM参数以"-D"开头?

为什么我们需要在-D例如从命令行运行jar时为JVM参数添加前缀?例如

java -jar -DmyProp="Hello World" myProgram.jar
Run Code Online (Sandbox Code Playgroud)

用于运行myProgram.jar系统参数myProp.为什么领先-D?为什么Java的架构师不能让我们这样做:

java -jar -myProp="Hello World" myProgram.jar
Run Code Online (Sandbox Code Playgroud)

我希望得到的答案不仅仅是"因为它就是这样".

奖金问题:为什么这封信-D与任何其他信件相对,是否代表什么?


注意:这个问题询问为什么首先需要使用"D"或任何其他字母.它不像任何其他字母那样关注特定字母"D"的选择,尽管这被称为奖励问题.

奖金问题在这里有一个答案:在java -D中D代表什么?.

java command-line

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

为什么 Visual Studio 将新创建的数组键入为可空?

我正在编写一个具有泛型类型的函数TVal。我写了这一行:

var zeroBased = new TVal[size];
Run Code Online (Sandbox Code Playgroud)

然后在 Visual Studio (VS) 中,我使用 alt+enter 替换var为显式类型。这是我得到的:

TVal[]? zeroBased = new TVal[size];
Run Code Online (Sandbox Code Playgroud)

我很惊讶地发现?运算符,表明该类型可能可以为空。我认为我会足够安全,假设类型在创建时永远不会为空new,并且可以刚刚完成:

TVal[] zeroBased = new TVal[size];
Run Code Online (Sandbox Code Playgroud)

是否存在在 C# 中实例化新数组可以返回 null 的情况?

注意:代码似乎在没有 的情况下编译得很好?,我只是对 VS 的建议很感兴趣......

最小可验证示例

打开 Visual Studio,与下面指定的版本相同,创建一个新项目,根据下面的 VS 项目文件内容启用可为空类型,创建一个新类,并弹出此函数:

public void Test<T>(int size)
{
  var tArr = new T[size];
}
Run Code Online (Sandbox Code Playgroud)

选择var并点击alt+enter,然后选择var用显式类型替换。如果行为与我所经历的相同,您将得到:

public void Test<T>(int size)
{
  T[]? tArr = new T[size];
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio …

c# visual-studio c#-8.0 nullable-reference-types

6
推荐指数
3
解决办法
352
查看次数

在VBA中声明长度为0的字符串数组-不可能吗?

真的不可能在VBA中声明0长度的数组吗?如果我尝试这样做:

Dim lStringArr(-1) As String
Run Code Online (Sandbox Code Playgroud)

我收到一个编译错误,说范围没有值。如果我试图欺骗编译器并在运行时像这样重做:

ReDim lStringArr(-1)
Run Code Online (Sandbox Code Playgroud)

我收到下标超出范围的错误。

我已经略微改变了上面的内容,但是没有运气

Dim lStringArr(0 To -1) As String
Run Code Online (Sandbox Code Playgroud)

用例

我想将变量数组转换为字符串数组。变体数组可能是空的,因为它来自字典的Keys属性。keys属性会返回一组变体。我想要在代码中使用字符串数组,因为我有一些函数可以处理要使用的字符串数组。这是我正在使用的转换函数。由于lMaxIndex = -1,这将导致下标超出范围错误:

Public Function mVariantArrayToStringArray(pVariants() As Variant) As String()
    Dim lStringArr() As String
    Dim lMaxIndex As Long, lMinIndex As Long
    lMaxIndex = UBound(pVariants)
    lMinIndex = LBound(pVariants)
    ReDim lStringArr(lMaxIndex)
    Dim lVal As Variant
    Dim lIndex As Long
    For lIndex = lMinIndex To lMaxIndex
        lStringArr(lIndex) = pVariants(lIndex)
    Next
    mVariantArrayToStringArray = lStringArr
End Function
Run Code Online (Sandbox Code Playgroud)

哈克

返回包含一个空字符串的单例数组。注意-这不是我们想要的。我们想要一个空数组-这样遍历它就像什么都不做。但是包含一个空字符串的单例数组通常会起作用,例如,如果我们以后想将所有字符串连接到字符串数组中。

Public Function mVariantArrayToStringArray(pVariants() As Variant) As String()
    Dim lStringArr() …
Run Code Online (Sandbox Code Playgroud)

arrays vba zero

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

适用于云的 Jira REST 客户端库

在Jira Rest Java 客户端概述中,Atlassian 指定:

Jira REST Java 客户端可与 Jira Server 配合使用,但不能与 Jira Cloud 配合使用。

Jira Cloud是否有 REST API 的客户端库?


我在互联网上找不到任何专门针对使用 Jira cloud REST API 的开源库。

下面的问题似乎隐含地问了与我相同的问题,但明确关注 POM 的存在:如何使用 JIRA REST 客户端库?。所以这里的答案重点是关于使用 Maven 上的 POM 的建议。

cloud jira-rest-api

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