我知道可以匹配一个单词,然后使用其他工具(例如grep -v )来反转匹配。 但是,我想知道是否有可能使用正则expression式来匹配不包含特定单词(例如hede)的行。 input: hoho hihi haha hede 码: grep "<Regex for 'doesn't contain hede'>" input 期望的输出: hoho hihi haha
我知道引用是语法糖,所以代码更容易读写。 但有什么区别? 下面的答案和链接摘要: 指针可以重新分配任意次数,而绑定后不能重新引用引用。 指针可以指向任何地方( NULL ),而引用总是指向一个对象。 你不能像引用指针那样使用引用的地址。 没有“引用算术”(但是你可以把一个引用指向的对象的地址作为指针并且在&obj + 5做指针运算)。 澄清一个误解: C ++标准非常小心,以避免编译器如何实现引用,但每个C ++编译器都将引用实现为指针。 也就是说,一个声明如: int &ri = i; 如果没有完全优化 ,则分配与指针相同的存储量,并将i的地址放入该存储中。 所以,一个指针和一个引用都占用相同数量的内存。 作为基本规则, 在函数参数和返回types中使用引用来定义有用和自我logging的接口。 使用指针来实现algorithm和数据结构。 有趣的阅读: 我最喜欢的C ++ FAQ lite 。 参考与指针 。 参考文献介绍 。 引用和常量 。
注意:这是针对常见问题的典型答案。 我有一个Spring @Service类( MileageFeeCalculator )具有@Autowired字段( rateService ),但是当我尝试使用它时,该字段为null 。 日志显示正在创buildMileageFeeCalculator bean和MileageRateService bean,但每当我尝试调用我的服务bean上的mileageCharge方法时,都会收到NullPointerException 。 Spring为什么不自动assembly这个字段? 控制器类: @Controller public class MileageFeeController { @RequestMapping("/mileage/{miles}") @ResponseBody public float mileageFee(@PathVariable int miles) { MileageFeeCalculator calc = new MileageFeeCalculator(); return calc.mileageCharge(miles); } } 服务等级: @Service public class MileageFeeCalculator { @Autowired private MileageRateService rateService; // <— should be autowired, is null public float […]
我在哪里可以find关于如何parsingAndroid中的JSON提要的分步说明? 我只是一个想学习的Android初学者。
我曾经知道这是什么意思,但我现在正在努力… 这基本上是说document.onload ? (function () { })();
在询问C语言中常见的不确定行为时 ,比起我提到严格的别名规则,灵魂更加开明。 他们在说什么?
原始types(数字,string等)是按值传递的,但是对象是未知的,因为它们可以是值传递的(如果我们认为持有对象的variables实际上是对象的引用)和通过引用传递(当我们认为对象的variables持有对象本身)。 尽pipe最后并不重要,但我想知道传递约定的正确方法是什么。 是否有JavaScript规范的摘录,它定义了什么应该是关于这个的语义?
我想要的是一个方法来将double转换为使用half-up方法进行舍入的string,即,如果小数点要舍入为5,则它总是舍入到前一个数字。 这是大多数人在大多数情况下所期望的四舍五入的标准方法。 我也只想显示有效数字 – 即不应该有任何尾随零。 我知道一个这样做的方法是使用String.format方法: String.format("%.5g%n", 0.912385); 收益: 0.91239 这是很好的,但是它总是显示5位小数的数字,即使它们不显着: String.format("%.5g%n", 0.912300); 收益: 0.91230 另一种方法是使用DecimalFormatter : DecimalFormat df = new DecimalFormat("#.#####"); df.format(0.912385); 收益: 0.91238 但是,正如你所看到的,这使用半双舍入。 如果前面的数字是偶数的话,那就是下降了。 我想要的是这样的: 0.912385 -> 0.91239 0.912300 -> 0.9123 在Java中实现这个最好的方法是什么?
C ++从C中inheritance了几乎在任何地方使用它们的数组。 C ++提供了易于使用且易于出错的抽象(从C ++ 98开始,自C ++ 98和std::array<T, n>之后的std::vector<T> ),所以对数组的需求不会的出现频率与C中的频率相同。但是,当您阅读遗留代码或与用C编写的库进行交互时,应该牢牢掌握arrays的工作方式。 这个FAQ分为五个部分: types级别的数组和访问元素 数组创build和初始化 分配和parameter passing multidimensional array和指针数组 使用数组时常见的缺陷 如果您觉得本FAQ中缺less重要的内容,请写下答案,并将其作为附加链接。 在下面的文本中,“数组”表示“C数组”,而不是类模板std::array 。 假定C声明符语法的基本知识。 请注意,如下所示的手动使用new和delete是非常危险的,但这是另一个FAQ的主题。 (注意:这是一个Stack Overflow的C ++常见问题解答的入口,如果你想批评在这个表单中提供FAQ的想法,那么在这个开始所有这些的meta上的贴子将是这个地方的答案。那个问题在C ++聊天室中进行监控,常见问题解决scheme首先出现,所以你的答案很可能会被那些提出这个想法的人阅读)。
使用getter和setter有什么好处 – 只能得到和设置 – 而不是简单地使用这些variables的公共字段? 如果吸气人员和安装人员做的不仅仅是简单的get / set,我可以很快地把这个问题弄清楚,但是我不是100%清楚的: public String foo; 比任何更糟的是: private String foo; public void setFoo(String foo) { this.foo = foo; } public String getFoo() { return foo; } 而前者则less了许多样板代码。 从Java Web开发人员的观点来看,这里列出了我最喜欢的获奖者名单: 当你意识到你需要做的不仅仅是设置和获取价值,你不必改变代码库中的每个文件。 你可以在这里执行validation。 您可以更改正在设置的值。 您可以隐藏内部表示。 getAddress()实际上可以为你获得几个字段。 您已将公共界面与表单下的更改隔离开来。 有些图书馆期待这一点 reflection,序列化,模拟对象。 inheritance这个类,你可以覆盖默认的function。 你可以对getter和setter有不同的访问级别。 延迟加载。 人们可以很容易地告诉你没有使用Python。