我想知道有没有办法在java及其类型中获取某些类的所有私有字段.
例如,假设我有一个班级
class SomeClass {
private String aaa;
private SomeOtherClass bbb;
private double ccc;
}
Run Code Online (Sandbox Code Playgroud)
现在,我想获得的所有私有字段(aaa,bbb,ccc类)SomeClass(如果不知道前期所有字段的名称),并检查它们的类型.
我看到很多C#类的示例代码执行此操作:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
或者,在旧代码中,具有显式私有支持值并且没有新的自动实现属性:
public class Point {
private int _x;
private int _y;
public int x {
get { return _x; }
set { _x = value; }
}
public int y {
get { return _y; }
set { _y = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么.在执行上述操作与仅将这些成员设为公共字段之间是否有任何功能差异,如下所示?
public class Point {
public int x;
public int y;
}
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,当您需要对基础数据进行一些翻译时,我理解了getter和setter的价值.但是,如果你只是传递价值观,那似乎是不必要的冗长.
When have you ever personally come upon the halting problem in the field? This can be when a co-worker/boss suggested a solution which would violate the fundamental limits of computation, or when you realized yourself that a problem you were trying to solve was, in fact, impossible to solve.
我最近想出来的时候是研究类型检查器.我们班级意识到编写一个完美的类型检查器是不可能的(一个可以接受所有运行没有类型错误的程序,并拒绝所有运行类型错误的程序),因为这实际上可以解决暂停问题.另一个是当我们在同一个类中意识到在类型检查阶段不可能确定除法是否会出现零,因为检查一个数字在运行时是否为零,也是暂停问题的一个版本.
language-agnostic theory field turing-machines halting-problem
我阅读了如何在QueryParser中合并多个字段?但我没有得到它.
目前我有一个非常奇怪的结构,如:
parser = New QueryParser("bodytext", analyzer)
parser2 = New QueryParser("title", analyzer)
query = parser.Parse(strSuchbegriff)
query2 = parser.Parse(strSuchbegriff)
Run Code Online (Sandbox Code Playgroud)
我能做些什么:
parser = New QuerParser ("bodytext" , "title",analyzer)
query =parser.Parse(strSuchbegriff)
Run Code Online (Sandbox Code Playgroud)
因此,Parser在字段"title"中的"bodytext"字段中查找搜索单词.
字段的数据类型是String.我想获取字段名称的字符长度大于40的数据.
我尝试了这些查询但返回错误.1.
db.usercollection.find(
{$where: "(this.name.length > 40)"}
).limit(2);
output :error: {
"$err" : "TypeError: Cannot read property 'length' of undefined near '40)' ",
"code" : 16722
}
Run Code Online (Sandbox Code Playgroud)
这是在2.4.9但我的版本是2.6.5
有没有一种干净的方法从对象中删除未定义的字段?
即
> var obj = { a: 1, b: undefined, c: 3 }
> removeUndefined(obj)
{ a: 1, c: 3 }
Run Code Online (Sandbox Code Playgroud)
我遇到了两个解决方案:
_.each(query, function removeUndefined(value, key) {
if (_.isUndefined(value)) {
delete query[key];
}
});
Run Code Online (Sandbox Code Playgroud)
要么:
_.omit(obj, _.filter(_.keys(obj), function(key) { return _.isUndefined(obj[key]) }))
Run Code Online (Sandbox Code Playgroud) mysql中IP地址的正确字段类型是什么?什么是使用PHP存储它的正确方法?
我查看了MongoDB文档并搜索了这个问题,但无法找到合适的答案.所以,这就是我要找的东西.假设我有一个包含这样的元素的集合:
{
"foo" : "bar",
"test" : "test",
"key" : "value",
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是通过搜索所有(可能除了有限多个;-))字段来找到一个元素.换句话说:给定查询,我不知道应该在哪个字段中找到查询.
我的想法是这样的
db.things.find({_ANY_ : "bar"})
Run Code Online (Sandbox Code Playgroud)
会给我示例元素.
谢谢您的帮助.
在C#深度(迄今为止一本优秀的书)中,Skeet解释事件不是字段.我多次阅读本节,我不明白为什么这种区别有所不同.
我是那些混淆事件和委托实例的开发人员之一.在我看来,它们是一样的.这两种都不是间接的形式吗?我们可以组播两者.事件被设置为字段作为简写...确定.但是,我们正在添加或删除处理程序.将它们堆叠起来以便在事件触发时调用.我们不要对委托做同样的事情,叠加它们并调用invoke吗?
如果我使用Lombok指定@AllArgsConstructor,它将生成一个构造函数,用于设置所有声明的(非最终的,非静态的)字段.是否可以省略某些字段,这会为所有其他字段留下生成的构造函数?
field ×10
c# ×2
java ×2
mongodb ×2
constructor ×1
database ×1
events ×1
ip ×1
javascript ×1
lombok ×1
lucene.net ×1
mysql ×1
object ×1
oop ×1
parsing ×1
php ×1
private ×1
properties ×1
reflection ×1
search ×1
syntax ×1
theory ×1
undefined ×1