天道酬勤,学无止境

null

在空引用上创建方法引用不会引发异常(Creating a method reference on a null-reference does not throw an exception)

问题 是否有可能在 Java 中的null引用上创建方法引用的原因? 这样做可能永远不会正确,但可能会导致以后很难发现的错误: public class Test { void m() { } public static void main(String[] args) { Test test = null; Runnable fn = test::m; // no exception System.out.println(fn); // prints Test$$Lambda$1/791452441@1c20c684 fn.run(); // throws a null pointer exception } } 回答1 为什么可以在 Java 中的null引用上创建方法引用? 不是,但显然 Eclipse 中在这方面存在一个错误(编辑:此后已修复)。 根据规范,当您使用 JDK 的工具时,它会在Runnable fn = test::m;上出现 NPE 失败Runnable fn = test::m; 线。 证明:http://ideone.com/APWXna(或者用javac和java而不是Eclipse在本地编译运行) 理论:来自 JLS §15.13.3: 首先,如果方法引用表达式以ExpressionName或Primary开头,则计算此子表达式。

2021-06-24 10:55:22    分类:技术分享    java   eclipse   nullpointerexception   null   java-8

如何在 Swift 中处理 json null 值(How To Handle json null values in Swift)

问题 过去两天我一直在使用 JSON 并面临许多奇怪的问题,由于堆栈溢出,它对我有所帮助。 这是 JSON 特色键有两种类型的字符串值。 "featured":"1" 或者 "featured": null, 我尝试了很多来处理这个但失败了 步骤1: if dict.objectForKey("featured") as? String != nil { featured = dict.objectForKey("featured") as? String } 第2步: let null = NSNull() if dict.objectForKey("featured") as? String != null { featured = dict.objectForKey("featured") as? String } 第 3 步: if dict.objectForKey("featured") as? String != "" { featured = dict.objectForKey("featured") as? String } 但不幸的是找不到解决方案,您的回答将不胜感激。 回答1 试试这个 func nullToNil(value : AnyObject?) -> AnyObject? { if value is NSNull { return nil }

2021-06-24 10:17:03    分类:技术分享    json   swift   core-data   null

JQuery DataTables - AJAX reloading how to catch when nothing is returned

I am using a datatable and allow records to be deleted from the database. After deletion, I reload the table to display the recent changes. However, if I delete the last record from the database, null is returned by the AJAX call and does not update the datatable (it still displays the record that was just deleted). My Call after the delete function is performed: oTable.fnDraw(); oTable.fnReloadAjax(); The console error here is: json.aaData is null [Break On This Error] for ( var i=0 ; i<json.aaData.length ; i++ ) Is there a way to detect when nothing is returned from AJAX so that the

2021-06-24 09:42:42    分类:问答    jquery   ajax   null   datatables   reload

What is the preferred way to check for a Null pointer in C++?

Options A: if (NULL == pSomethingColumn) // Yes, we use Yoda conditions if (NULL != pSomethingColumn) Or if (pSomethingColumn) if (!pSomethingColumn) I am looking for references explaining the reasoning as well. I have heard some people say that technically NULL does not have to be defined as 0, but come on! if that was the case, then the sucker (our app) would crash in -2147483648 different ways. So, if NULL != 0, then we will have big problems. Please help me settle a pointless syntax debate. I am not particularly attached to either way; just looking for the official way. Thanks. P.S. We are

2021-06-24 08:16:46    分类:问答    c++   pointers   null   coding-style

SQL 在连接上使用 If Not Null(SQL using If Not Null on a Concatenation)

问题 如果我有桌子 SELECT (Firstname || '-' || Middlename || '-' || Surname) AS example_column FROM example_table 这将显示名字-中间名-姓氏,例如 John--Smith Jane-Anne-Smith 第二个(简的)显示正确,但是由于约翰没有中间名,我希望它忽略第二个破折号。 我怎么能放一种 IF Middlename = NULL 语句,以便它只显示 John-Smith 回答1 以下是我的建议: PostgreSQL 和其他 SQL 数据库,其中'a' || NULL IS NULL 'a' || NULL IS NULL ,然后使用 COALESCE: SELECT firstname || COALESCE('-' || middlename, '') || '-' || surname ... Oracle 和其他 SQL 数据库 where 'a' || NULL = 'a' 'a' || NULL = 'a' : SELECT first name || DECODE(middlename, NULL, '', '-' || middlename) || '-' || surname... 我喜欢简洁。 中间名是否为空对于任何维护程序员来说都不是很有趣。 CASE

2021-06-24 07:57:02    分类:技术分享    sql   null   concatenation

我可以在 yaml/pyyaml 中转储空白而不是 null 吗?(Can I dump blank instead of null in yaml/pyyaml?)

问题 使用 PyYAML,如果我在 dict 中读取具有空白值的文件: test_str = ''' attrs: first: second: value2 ''' 这first为键返回None : >>> data = yaml.load(test_str) >>> data {'attrs': {'second': 'value2', 'first': None}} 但是在写入时, None值被替换为null : >>> print(yaml.dump(data, default_flow_style=False)) attrs: first: null second: value2 有没有办法格式化转储输出以打印空白标量而不是null ? 回答1 基于@Anthon 的出色回答,我能够制定出此解决方案: def represent_none(self, _): return self.represent_scalar('tag:yaml.org,2002:null', '') yaml.add_representer(type(None), represent_none) 根据我对 PyYAML 代码的理解,为现有类型添加代表应该简单地替换现有代表。 这是一个全局更改,这意味着所有后续转储都使用空白。 如果您的程序中一些不相关的其他代码依赖None以“正常”方式表示

2021-06-24 06:58:49    分类:技术分享    python   null   yaml   nonetype   pyyaml

NULL 的 VB6 问题(VB6 issue with NULL)

问题 我正在 VB6 中开发一个应用程序。 我遇到了一个似乎是个小问题,但很烦人,我无法修复它。 我正在做的是尝试将 2 个值传递给一个函数.... Private Sub cmdSearch2P_Click() Call AxisSearch(2, cboDiagId) End Sub 这是我将它传递给的函数... Private Sub AxisSearch(plngAxis As Long, pcbo As ComboBox) 发生的情况是cboDiagID是函数不接受的 NULL 值。 为了让它工作,它需要是“”。 我不知道为什么,但我正在开发另一个具有类似功能的应用程序。 所以我试着做类似的事情 Private Sub cmdSearch2P_Click() If IsNull(cboDiagID) Then cbodiagID = "" End if Call AxisSearch(2, cboDiagId) End Sub 但它仍然将其作为 NULL 传递。 我知道“”是空的,但是有没有办法让它不说空而是“”? 编辑:看起来另一个应用程序正在使用 VB6 组合框,而我正在编辑的应用程序使用组合框 2.0 控件。 这就是问题的原因吗? 回答1 只是为了回答您的原始问题:首先, ""不是Null ,它是一个空字符串,这不是一回事。 如果要将Null转换为空字符串

2021-06-24 05:59:07    分类:技术分享    parameters   null   vb6

SQL - NULL foreign key

Please have a look at the database design below: create table Person (id int identity, InvoiceID int not null) create table Invoice (id int identity, date datetime) Currently all persons have an invoiceID i.e. the InvoiceID is not null. I want to extend the database so that some person does not have an Invoice. The original developer hated nulls and never uses them. I want to be consistent so I am wondering if there are other patterns I can use to extend the database to meet this requirement. How can this be approached without using nulls? Please note that the two tables above are for

2021-06-24 03:35:12    分类:问答    sql   null   foreign-keys

null 是 JavaScript 中的对象吗? [复制](Is null an object in JavaScript? [duplicate])

问题 这个问题在这里已经有了答案: 10 年前关闭。 可能的重复: javascript中的空对象 嗨,我已经阅读了关于 JavaScript 中 null 的这个线程,但我现在对null的身份感到非常困惑。 众所周知,由于语言设计错误, typeof(null)评估为object ,并且 ECMA 声明 null 是The Null Type 。 8.2 The Null Type The Null type has exactly one value, called null. 那么为什么人们一直说null是一个对象呢? 有人说 null 是一个单例对象。 这也是每个人在 JavaScript 中看到的 null 的方式吗? 回答1 Null 是没有对象。 undefined 表示还没有赋值,null 表示已经赋值为空。 Null 并不是真正的单例对象,因为取消引用它会导致错误; for (var x in null)会给你一个错误。 回想指针天; null 是指针不指向对象时的值。 回答2 不,null 是少数原始类型之一(其他类型是数字、字符串、布尔值和未定义)。 其他一切都是对象,包括函数、数组和正则表达式。 数字、字符串和布尔值通常被称为“类对象”,因为它们有方法,但它们是不可变的。 另一方面,对象是可变的。 回答3 null不能被视为对象,因为它没有属性。

2021-06-24 02:58:27    分类:技术分享    javascript   null

Javafx 表视图多项选择有时会跳过其中一项(Javafx table view multiple selection sometimes skips one of the items)

问题 我在 javafx 中为我的自定义对象创建了一个表视图。 我通过执行以下table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);在代码中启用了多项选择: table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); 我随机观察到,当我通过按Ctrl + A选择所有项目时,其中一个项目在所有选定项目中返回为null 。 不知道为什么会发生这种情况。 我使用下面的行来获取所有项目: ObservableList<MyObj> selectedItems = table.getSelectionModel().getSelectedItems(); 有什么建议么? 回答1 显然这是一个错误,已经为版本 9(以及 8u112,如果我理解正确)修复:https://bugs.openjdk.java.net/browse/JDK-8144501 现在的解决方法是使用getSelectedIndices() ,然后从table.getItems()获取与这些实例对应的项目

2021-06-24 00:54:52    分类:技术分享    javafx   null   tableview