小编Gad*_*dam的帖子

可选类型返回空值

我有这样的课.

public class SomeClass {

  private Optional<String> testString;

  public SomeClass() { 
      populateFields();
  }

  public Optional<String> getTestString() {
      return testString;
  }

  private void populateFields() {
     if(//something is going false here){
       testString = functionThatReturnsOptionalString();
     }
  }

}
Run Code Online (Sandbox Code Playgroud)

现在instanceOfSomeClass.getTestString()返回null.是不是可选始终应该包含非空值或为空?我正在尝试或避免使用isNull()并在我的调用者中使用isEmpty().

如果我在populateFields()的第一行放置一个断点并在那时检查testString中的值,它会将值显示为null.表示此字段的默认值(在分配任何内容之前)为null.

请详细说明这种情况; 也许正确使用Optional?

java null nullpointerexception optional

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

在 Langchain 中使用 DocArrayInMemorySearch 时出错:无法导入 docarray python 包

这是完整的代码。它在https://learn.deeplearning.ai/笔记本上运行得非常好。但是当我在本地计算机上运行它时,出现以下错误

ImportError:无法导入 docarray python 包

我尝试过重新安装/强制安装 langchain 和 lanchain[docarray] (pip 和 pip3)。我使用迷你 conda 虚拟环境。蟒蛇版本3.11.4

from langchain.vectorstores import DocArrayInMemorySearch
from langchain.schema import Document
from langchain.indexes import VectorstoreIndexCreator
import openai
import os

os.environ['OPENAI_API_KEY'] =  "xxxxxx" #not needed in DLAI

docs = [
    Document(
        page_content="""[{"API_Name":"get_invoice_transactions","API_Description":"This API when called will provide the list of transactions","API_Inputs":[],"API_Outputs":[]}]"""
    ),
    Document(
        page_content="""[{"API_Name":"get_invoice_summary_year","API_Description":"this api summarizes the invoices by vendor, product and year","API_Inputs":[{"API_Input":"Year","API_Input_Type":"Text"}],"API_Outputs":[{"API_Output":"Purchase Volume","API_Output_Type":"Float"},{"API_Output":"Vendor Name","API_Output_Type":"Text"},{"API_Output":"Year","API_Output_Type":"Text"},{"API_Output":"Item","API_Output_Type":"Text"}]}]"""
    ),
    Document(
        page_content="""[{"API_Name":"loan_payment","API_Description":"This API calculates the monthly payment for a loan","API_Inputs":[{"API_Input":"Loan_Amount","API_Input_Type":"Float"},{"API_Input":"Interest_Rate","API_Input_Type":"Float"},{"API_Input":"Loan_Term","API_Input_Type":"Integer"}],"API_Outputs":[{"API_Output":"Monthly_Payment","API_Output_Type":"Float"},{"API_Output":"Total_Interest","API_Output_Type":"Float"}]}]"""
    ),
    Document( …
Run Code Online (Sandbox Code Playgroud)

python python-packaging openai-api langchain

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

如何使十进制变量保持/显示小数位,即使小数位只是零?

有没有办法使十进制变量始终保持小数位.即使小数位只有0.

例如:

10.00,
100.000,
1000.00,

我知道我们可以用字符串变量string.Format("{0:0.00}", stringVariable)来做,但我们可以用十进制变量来做.

c# formatting decimal

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

使用应用程序客户端机密访问 Azure Key Vault 机密

问题陈述:在网络/控制台 c# 应用程序中以编程方式检索和使用存储在 azure 密钥保管库中的敏感值(例如数据库连接字符串)。

我了解您可以在 AAD 中注册一个应用程序,并使用其客户端 ID 和客户端密码以编程方式生成广告令牌,该令牌可用于调用/访问 Azure Key Vault 密码。

我的困惑是客户端机密本身是一个敏感的“密码”,您希望将其存储在密钥保管库中。一旦有人知道客户端机密,他们就可以访问密钥保管库中的所有机密。那么创建一个新的秘密(客户端秘密)来存储和访问原始秘密有什么意义呢?(有人可以解释这背后的逻辑吗?谢谢!

c# azure azure-active-directory azure-keyvault

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

Azure 网络安全组与路由表

网络新手在这里。从文档中感觉 NSG 和路由表(UDR)都在做同样的事情 - 能够在多个级别(Vnet、子网、VM)定义 ACL

https://docs.microsoft.com/en-us/azure/virtual-network/network-security-group-how-it-works https://docs.microsoft.com/en-us/azure/virtual-network /virtual-networks-udr-overview

那么它们有何不同以及何时使用?

谢谢。

networking routetable azure-virtual-network azure-nsg

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

支持 foreach 而不实现 IEnumerable 的示例

我正在查看这个博客,它解释了foreach无需实施IEnumerable. 但是没有深入到实现的细节。

我正在寻找如何在foreach不实施IEnumerable.

编辑:感谢@Sam I am 的评论,我得到了我想要的。(见下面我的回答)

c# ienumerable foreach

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