我有两组对象,在某些情况下,第一组将用作另一组的键,而在其他情况下,第二组将用作第一组的键.此外,两个列表中都不得有重复项.
什么是一个好的数据结构用于此?我应该使用两个字典还是有更聪明的方法?
虚拟活动如何运作?你会怎么覆盖它?那会怎么样?在什么情况下你会这样做?
例如,它是否可以替代受保护的OnEvent方法?那么继承类可以覆盖事件并直接引发它吗?或者那是错的还是不行?
MSDN对此说了这样的话:
可以使用virtual关键字将事件标记为虚拟事件.这使派生类可以使用override关键字覆盖事件行为.还可以密封覆盖虚拟事件的事件,该事件指定对于派生类,它不再是虚拟的.
但这并没有让我更加明智.密封的东西是显而易见的.
注意:我已经看到了C#中的虚拟事件如何工作?问题,但它并不是真正的虚拟事件如何运作.相反,这个人是如何得到他们使用它们得到的结果.试图弄清楚他的例子和答案中的虚拟事件是什么,但实际上并没有真正理解它.
假设你有两个不同的类,每个类都有自己的Equals实现; 使用哪一个?如果只有一个人有一个怎么办?或者他们都没有?以下任何一行是否相同?
object .Equals( first, second )
first .Equals( second )
second .Equals( first )
Run Code Online (Sandbox Code Playgroud)
我猜测前两个可能是等价的,但我真的不知道.
它到底是做什么的?
我有一个表可能有两列null
(以及其他一些列).我想计算有多少行,其中列a,b,两列都没有设置为null.
在一个查询中,Oracle可以实现这一点吗?或者我是否必须为每个创建一个查询?例如,不能使用group by
或其他一些我可能不知道的东西?
我有一个资源程序集,其中包含各种语言的翻译文本.项目类似于:
我可以使用这样的静态属性来获取文本:
var value = FooBar.Hello;
Run Code Online (Sandbox Code Playgroud)
或者使用这样的反射:
var value = resourceAssembly
.GetType("Namespace.FooBar")
.GetProperty("Hello")
.GetValue(null, null) as string;
Run Code Online (Sandbox Code Playgroud)
两种方式都将获得属于当前线程的当前UI文化的值.这很好,完全是我通常喜欢的.
但是,如果我明确地想要瑞典的价值,而不必改变UI文化,我能做些什么吗?
我有一个地址对象,我想为其创建一个equals方法.我可以通过做类似下面的事情(缩短一点)使这变得非常简单:
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Address other = (Address) obj;
return this.getStreet().equals(other.getStreet())
&& this.getStreetNumber().equals(other.getStreetNumber())
&& this.getStreetLetter().equals(other.getStreetLetter())
&& this.getTown().equals(other.getTown());
}
Run Code Online (Sandbox Code Playgroud)
问题是,其中一些可能是空的.换句话说,NullPointerException
如果此地址中没有街道信件,我会得到一个.
如何在考虑空值的情况下以干净的方式编写此文件?
我有两个问题.其中一个对我有意义,另一个则没有.第一:
SELECT gender AS 'Gender', count(*) AS '#'
FROM registrations
GROUP BY gender WITH ROLLUP
Run Code Online (Sandbox Code Playgroud)
这给了我这个:
Gender #
Female 20
Male 19
NULL 39
Run Code Online (Sandbox Code Playgroud)
所以,我得到了计数和总数.我的期望.下一个:
SELECT c.printable_name AS 'Country', count(*) AS '#'
FROM registrations r
INNER JOIN country c ON r.country = c.country_id
GROUP BY country WITH ROLLUP
Country #
Denmark 9
Norway 10
Sweden 18
United States 1
Uzbekistan 1
Uzbekistan 39
Run Code Online (Sandbox Code Playgroud)
结果相同.但为什么我要总共得到乌兹别克斯坦?
当我尝试将值放入无效的DATE字段时,MySQL似乎使用了0000-00-00.有没有办法在没有更新DATE字段的情况下"检查"?并从例如PHP做到这一点?
比如,有没有办法可以查询MySQL服务器并询问"嘿,这个DATE,TIME或DATETIME对你有效吗?"
或者是否有更好的方法呢?
在我的数据库创建脚本中创建脚本,如下所示:
CREATE TABLE IF NOT EXISTS `rabbits`
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`main_page_id` INT UNSIGNED COMMENT 'What page is the main one',
PRIMARY KEY (`id`),
KEY `main_page_id` (`main_page_id`)
)
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `rabbit_pages`
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`rabbit_id` INT UNSIGNED NOT NULL,
`title` VARCHAR(255) NOT NULL,
`content` TEXT NOT NULL,
PRIMARY KEY (`id`),
KEY `rabbit_id` (`rabbit_id`),
CONSTRAINT `fk_rabbits_pages` FOREIGN KEY (`rabbit_id`) REFERENCES `rabbits` (`id`)
)
ENGINE=InnoDB;
ALTER TABLE …
Run Code Online (Sandbox Code Playgroud) 我有一堆项目依赖于一组商业第三方库.我们目前没有公司存储库,因此我必须在我自己的本地存储库中安装库.
mvn install:installFile -Dpackaging=jar -Dfile=<file> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version>
为每个文件运行相当繁琐.可以创建一个bat文件,但有没有办法使用maven这样做?
我正在考虑一个包含所有jar和单个pom文件的项目,其中包含所有组ID,工件ID,版本和文件名,然后是mvn install
在该项目中运行的可能性,或者沿着这些行的东西.
有可能这样吗?
注意:我使用的是Maven 3,但Maven 2兼容的解决方案也不错.
c# ×4
mysql ×3
equals ×2
.net ×1
coding-style ×1
constraints ×1
datetime ×1
events ×1
grouping ×1
inheritance ×1
java ×1
localization ×1
maven ×1
maven-2 ×1
maven-3 ×1
null ×1
object ×1
oracle ×1
php ×1
resources ×1
select ×1
static ×1
validation ×1
virtual ×1