小编Dan*_*ely的帖子

覆盖与隐藏Java - 困惑

我对Overriding与隐藏Java有何不同感到困惑.任何人都可以提供有关这些差异的更多细节吗 我阅读了Java Tutorial,但示例代码仍让我感到困惑.

为了更清楚,我理解压倒一切.我的问题是我没有看到隐藏是有什么不同的,除了一个是在实例级别而另一个在类级别.

查看Java教程代码:

public class Animal {
    public static void testClassMethod() {
        System.out.println("Class" + " method in Animal.");
    }
    public void testInstanceMethod() {
        System.out.println("Instance " + " method in Animal.");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我们有一个子类cat:

public class Cat extends Animal {
    public static void testClassMethod() {
        System.out.println("The class method" + " in Cat.");
    }
    public void testInstanceMethod() {
        System.out.println("The instance method" + " in Cat.");
    }

    public static void main(String[] args) {
        Cat myCat = new Cat();
        Animal …
Run Code Online (Sandbox Code Playgroud)

java methods inheritance overriding

77
推荐指数
3
解决办法
4万
查看次数

当Iterator :: map返回Result :: Err时,如何停止迭代并返回错误?

我有一个函数返回一个Result:

fn find(id: &Id) -> Result<Item, ItemError> {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

然后另一个使用它像这样:

let parent_items: Vec<Item> = parent_ids.iter()
    .map(|id| find(id).unwrap())
    .collect();
Run Code Online (Sandbox Code Playgroud)

如何在任何map迭代中处理失败的情况?

我知道我可以使用flat_map,在这种情况下,错误结果将被忽略:

let parent_items: Vec<Item> = parent_ids.iter()
    .flat_map(|id| find(id).into_iter())
    .collect();
Run Code Online (Sandbox Code Playgroud)

Result迭代器有0或1个项目,具体取决于成功状态,flat_map如果为0则会过滤掉它.

但是,我不想忽略错误,我想改为使整个代码块停止并返回一个新错误(基于映射中出现的错误,或者只是转发现有错误).

如何在Rust中最好地处理这个问题?

rust rust-result

56
推荐指数
3
解决办法
7484
查看次数

C#:如何实现和使用NotNull和CanBeNull属性

我想让程序员和我自己知道一个方法不需要null,如果你确实发送null它,结果将不会很好.

有一个NotNullAttributeCanBeNullAttributeLokad共享库,在Lokad.Quality命名空间.

但是这有什么作用呢?我查看了这两个属性的源代码,它看起来像这样:

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter |
                AttributeTargets.Property | AttributeTargets.Delegate |
                AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
[NoCodeCoverage]
public sealed class NotNullAttribute : Attribute
{
}

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter |
                AttributeTargets.Property | AttributeTargets.Delegate |
                AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
[NoCodeCoverage]
public sealed class CanBeNullAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)

继承自的两个空类Attribute.它们是如何使用的?你需要查找xml文档并知道它在那里吗?因为我试图制作我自己的属性副本并使用Lokad版本,但是当我尝试直接发送null时,我没有收到任何消息.既不是来自ReSharper也不是来自VS. 实际上我有点期待.但他们是如何使用的呢?如果我尝试发送一些空的东西,我可以以某种方式让VS为我生成警告吗?或者它只是在某种测试框架中使用?要么?

c# null attributes

40
推荐指数
3
解决办法
6万
查看次数

Android:寻找具有内半径和外半径的drawArc()方法

我有以下自定义视图:

替代文字

这是我通过使用Canvas的drawArc()方法实现的.但是,使用这种drawArc()方法我不能限制弧的内半径.

我想拥有的是这样的:

替代文字

只剩下一个外环的地方.

我需要的是一个drawArc()函数,我可以设置弧的内半径.任何人都知道如何做到这一点?

(顺便说一句,覆盖内部区域不起作用,因为它需要是透明的.Color.TRANSPARENT在绘制红色和蓝色锥体之后绘制内部圆圈不会移除旧颜色.它只是将另一层放在顶部,这是透明的我仍然可以看到红色和蓝色)

android 2d draw geometric-arc

34
推荐指数
3
解决办法
3万
查看次数

如何从DataGridView中的行获取DataRow

我正在使用数据绑定Windows窗体DataGridView.如何从用户选择的行走在DataGridViewDataRowDataTable是它的来源?

c# datatable datagridview winforms

31
推荐指数
2
解决办法
5万
查看次数

jQuery animate css border-radius属性(webkit,mozilla)

有没有一种方法可以在jQuery中设置Webkit和Mozilla浏览器中可用的css3 border-radius属性的动画?

我还没有找到能够做到这一点的插件.

-webkit-border-radius

-moz-border-radius
Run Code Online (Sandbox Code Playgroud)

jquery border css3 jquery-animate

30
推荐指数
1
解决办法
5万
查看次数

如果成功,从函数返回错误的惯用方法是什么?

在Rust中,我认为处理可恢复错误的惯用方法是使用Result.例如,这个功能显然是惯用的:

fn do_work() -> Result<u64, WorkError> {...}
Run Code Online (Sandbox Code Playgroud)

当然,还有一些具有单一,明显的故障状态的功能,因此使用Option类型.一个惯用的例子是这样的:

fn do_work() -> Option<u64>
Run Code Online (Sandbox Code Playgroud)

这一切都在文档中直接解决.但是,我对函数可能失败的情况感到困惑,但在成功时没有任何有意义的值.比较以下两个功能:

fn do_work() -> Option<WorkError>
// vs
fn do_work() -> Result<(), WorkError>
Run Code Online (Sandbox Code Playgroud)

我只是不确定哪一个更惯用,或者更常用于现实世界的Rust代码.我这样的问题的首选资源是Rust书,但我不认为这是在" 错误处理 "部分中解决的.我也没有任何其他Rust文档的运气.

当然,这似乎是相当主观的,但我正在寻找权威的来源,要么说明哪种形式是惯用的,要么说明为什么一种形式优于(或劣等)另一种形式.(我也很好奇这个约定如何与其他大量使用"错误作为值"的语言相比,比如Go和Haskell.)

error-handling idiomatic optional rust rust-result

28
推荐指数
2
解决办法
5794
查看次数

Sublime Text 2是否能够使用类似于Visual Studio的区域代码?

在Visual Studio中,您可以使用区域最小化大量代码; 它们基本上只围绕代码并在窗口中最小化它.

Sublime有类似的功能吗?

minimize folding region visual-studio sublimetext2

25
推荐指数
4
解决办法
2万
查看次数

如何在Linq查询中的字符串字段中排序

我有一些来自数据库的数据,我无法轻易改变其架构.我想对它进行排序并将其绑定到基于数字ID的控件.问题是API int在转换尝试时将数字存储在字符串字段中,而不是作为和Linq barfs存储.

myControl.DataSource = dataFromDB.OrderBy(o => int.Parse(o.StringHoldingAnInt));
Run Code Online (Sandbox Code Playgroud)

LINQ to Entities无法识别方法'Int32 Parse(System.String)'方法,并且此方法无法转换为存储表达式.

Convert.ToInt32 也不起作用.

LINQ to Entities无法识别方法'Int32 ToInt32(System.String)'方法,并且此方法无法转换为存储表达式.

排序为字符串是不合适的,因为这些值的长度不是全部相同,它们会按如下顺序排序:1,10,11,2,3 ..

c# linq linq-to-entities sql-order-by

24
推荐指数
3
解决办法
2万
查看次数

如何创建应用程序域并在其中运行我的应用程序?

我需要创建一个自定义应用程序域来解决.NET运行时默认行为中的错误.我在网上看到的示例代码都没有用,因为我不知道在哪里放置它,或者在我的Main()方法中需要替换它.

c# appdomain

23
推荐指数
2
解决办法
3万
查看次数