-
363 votesanswersviews
首选:Nullable <> . HasValue或Nullable <>!= null?
我总是使用(a) Nullable<>.HasValue 因为我喜欢语义 . 但是,最近我正在研究其他人的现有代码库,他们专门使用(b) Nullable<> != null 代替 . 是否有理由使用一个而不是另一个,还是纯粹的偏好? (一个) int? a; if (a.HasValue) ... (b)中 int? b; if (b != null) ... -
16 votesanswersviews
为什么我允许将非可空类型与null进行比较? [重复]
可能重复:C#可以将值类型与null进行比较 如果我尝试将 null 分配给C#中的非可空类型: System.DateTime time = null; 我会得到一个编译时错误: 错误CS0037:无法将null转换为'System.DateTime',因为它是一个不可为空的值类型 这是有道理的 . 但如果比较 null 的相同类型: System.DateTime time = ob... -
19 votesanswersviews
让Kotlin警告将灵活/平台类型分配给非null类型?
当从Kotlin调用非可空性注释的Java函数时,我们得到灵活类型的返回值,用感叹号表示,例如: String! . Kotlin默默地允许将这些灵活值分配给正常的非空类型,例如, String ,可能会在运行时导致NullPointerExceptions . 我更希望得到编译器警告或错误的此类分配 . 或者,将平台类型视为等效于可空类型(例如 String? ) . 例如,使用此Java... -
1 votesanswersviews
在检查条件时,null-conditionals是否有可能不返回可为空的值类型?
从null条件赋值时,返回可为空的值类型是有意义的 . 否则,如果对象为null,则null-conditional将返回值类型's default and you don' t . 因此,这很好: bool? IsTerminated = Employee?.IsTerminated; 但是,如果我只是检查一个条件,为什么它会返回一个可空类型?你会认为编译器可以很好地解决这个问题: if (E... -
0 votesanswersviews
Android parcelable - 写nullable long
我有我的可分类的文章: class Article : Parcelable { var image: Long? = null var category: String? = null var videos: String? = null constructor(data: JSONObject) { if (condition) image ... -
4 votesanswersviews
如果参数不为null,如何告诉kotlin函数不返回null?
我想编写一个便利扩展来从Map中提取值,同时解析它们 . 如果解析失败,则该函数应返回默认值 . 这一切都很好,但我想告诉Kotlin编译器,当默认值不为null时,结果也不会为null . 我可以通过 @Contract 注释在Java中使用它,但它似乎在Kotlin中不起作用 . 可以这样做吗? Contract 不适用于扩展功能吗?这是kotlin的尝试: import org.jetbra... -
0 votesanswersviews
我怎么能在打字稿中返回一个可以为空的值
在NPM模块中我使用typescript "devDependencies": { "@types/node": "^8.0.0", "typescript": "^2.8.1" } 我想使用公共方法返回一个私有可空参数 . 请参考下面的示例 . 我看到的错误是 Propert... -
0 votesanswersviews
'System.Int16'类型的对象无法转换为类型'System.Nullable .1 [System.Int32]
我有一个从数据读取器的数据生成类类型列表的方法 . if (datareader != null && datareader .HasRows) { Dictionary<string, PropertyInfo> pDict= GetPropertyDictionary<T>(); v... -
0 votesanswersviews
Kotlin - 将非可空类型分配给可空类型
我从null-able字符串中为val nullable类型赋值 . 获得不期望的结果 . 代码如下: val username3: String? = null // null assigned to constant. can be re-assigned after a check. if (name2 != null) { val username3 =... -
1 votesanswersviews
Java Map w @NonNull值类型和@Nullable get()方法结果?
我有一个方法返回一个自定义Map实现,其条目完全由非空键和值组成,所以我想添加类型注释,以指示客户端可以迭代Map.Entry而不必检查它们是否为null values:Map <@NonNull String,@ NonNull String> 问题是Map.get方法API指定为任何尝试检索Map中不存在的键的值返回null,并注释我的get方法实现以返回@Nullable Str... -
225 votesanswersviews
可空类型和三元运算符:为什么是`? 10:null`禁止? [重复]
这个问题在这里已有答案: Conditional operator assignment with Nullable<value> types? 5个答案 Why doesn't this C# code compile? 4个答案 我刚刚遇到一个奇怪的错误: private bool GetBoolValue() { //Do some logic and ret... -
8 votesanswersviews
理解空合并运算符(??)
我有一个自定义 WebControl ,它实现了一个 .Value getter / setter,返回一个Nullable <decimal> 它是一个客户端过滤的文本框( TextBox 的子类,包含javascript和一些用于设置/获取值的服务器端逻辑) 这是来自该控件的getter和setter: public decimal? Value { get { ... -
17 votesanswersviews
当可选项为空时如何返回?
我喜欢optionals现在在Java标准库中 . 但是我仍然遇到一个基本问题,我还没有弄清楚如何以最好的方式解决(最容易阅读和理解,最漂亮,最短)的方式: How to return from a method when an optional is empty? 我正在寻找一个通用的解决方案,适用于选项数和代码块大小的不同组合 . 在下面的例子中,我将尝试展示我的意思: void m1() {... -
1 votesanswersviews
Kotlin泛型改变返回类型
我在Java中有这个方法我想转换为Kotlin,但仍然使用Java和Kotlin: @Nullable public static <T extends CharSequence> T nullIfEmpty(@Nullable final T t) { return TextUtils.isEmpty(t) ? null : t; } 在另一个地方,我有一个接受字符串的方法:... -
2 votesanswersviews
视图中的Oracle可空和非可空列
我在Oracle中有一个表 . 此表包括:EMPLOYEE_ID(NUMBER,Nullable,但NULL数为0)和EMPLOYEE_NUMBER(VARCHAR2,Nullable,但NULL数为0) . 现在我在这个表上创建一个视图: CREATE OR REPLACE FORCE VIEW APPS.XXKE_L2E_EMPLOYEE ( PERSON_ID, EMPLOYEE... -
128 votesanswersviews
在Kotlin中,处理可空值,引用或转换它们的惯用方法是什么
如果我有一个可空类型 Xyz? ,我想引用它或将其转换为非可空类型 Xyz . 在Kotlin这样做的惯用方法是什么? 例如,此代码出错: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are... -
0 votesanswersviews
什么是使用Kotlin双爆为可空类成员的推荐方法
在kotlin中,如果变量可以为空,那么kotlin将要求使用!!或使用前检查null . 在具有可空类成员的情况下,在该类内部任何地方裁判该成员kotlin将警告检查可空 . class ClassWithNullableMemebr { Var nullableMember: OtherClass? = null; constructor (obj: OtherCla... -
2 votesanswersviews
Kotlin - nullable属性默认为null值
假设我定义了一个具有 nullable 属性的类 class ABC { var myProperty: String? = null } 有没有办法将其默认为空值?也许类似于SCALA? var myProperty: String? = _ // compilation error 或者干脆: var myProperty: String? // compilation erro... -
217 votesanswersviews
Java 8 getter应该返回可选类型吗?
Java 8中引入的 Optional 类型对于许多开发人员来说是一件新事物 . 是一个getter方法返回 Optional<Foo> 类型代替经典的 Foo 一个好习惯吗?假设该值可以是 null . -
88 votesanswersviews
转换可空的布尔?布尔
如何在C#中将可空的 bool? 转换为 bool ? 我试过 x.Value 或 x.HasValue ...... -
5 votesanswersviews
Kotlin编译器无法弄清楚变量在do-while循环中不可为空
我有以下方法 . 它的逻辑很简单,如果设置了right,那么当它有一个值(非null)时调用left . 当我用以下方式编写它时,它可以工作 . fun goNext(from: Node): Node? { var prev : Node = from var next : Node? = from.right if (next != null) { pr... -
307 votesanswersviews
“as”和可空类型的性能惊喜
我只修改了深度中C#的第4章,它处理了可空类型,我正在添加一个关于使用“as”运算符的部分,它允许你编写: object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } 我认为这非常简洁,它可以提高性能而不是C#1等效,使用“is”后跟一个演员 - 毕竟,这样我们只需要请求动态类型检查...