Tag: 原始types

为什么Java 8types推断不考虑Lambdas在重载select中抛出的exception?

我有一个关于lambda的Java 8推理及其相关的exception签名的问题。 如果我定义了一些方法foo: public static <T> void foo(Supplier<T> supplier) { //some logic … } 那么我可以写出foo(() -> getTheT());简洁明了的语义foo(() -> getTheT()); 在大多数情况下对于给定的T 然而,在这个例子中,如果我的getTheT操作声明它throws Exception ,那么我的foo方法就不再编译供应商了:供应商get方法签名不会抛出exception。 看起来像一个体面的方式来解决这个问题将是重载foo接受任一选项,重载的定义是: public static <T> void foo(ThrowingSupplier<T> supplier) { //same logic as other one … } ThrowingSupplier被定义为 public interface ThrowingSupplier<T> { public T get() throws Exception; } 这样,我们有一个供应商types抛出exception,一个不是。 所需的语法是这样的: foo(() -> operationWhichDoesntThrow()); //Doesn't […]

在C#中,为什么“int”是System.Int32的别名?

由于C#支持Int8 , Int16 , Int32和Int64 ,为什么语言的devise者select将Int32定义为Int32的别名,而不是根据本机体系结构认为是一个word而使其变化? 我没有任何具体的需要,以行为不同于它的方式,我只是要求出纯粹的百科兴趣。 我认为64位RISC架构可能会存在,它将最有效地支持64位数量,并且其中32位数量的操作将需要额外的操作。 这样的架构在程序坚持使用32位整数的世界中处于劣势,这是另一种说C#成为未来语言的方式,从根本上防止了硬件devise者提出这样的问题未来的架构。 StackOverflow不鼓励推测答案,所以只有当你的信息来自可靠的来源时,请回答。 我注意到一些SO的成员是微软的内部人士,所以我希望他们能够在这个问题上启发我们。 注1:其实我读了所有的答案和SO的所有评论:假设在C#中int总是32位是安全的吗? 但对于我在这个问题上提出的问题,却没有提出任何暗示。 注2:这个问题在SO上的可行性(无疑)在这里讨论: Meta:我可以问一个“他们为什么这样做”types的问题?

PostgreSQL中密码的数据types是什么?

我读了有数据types的encryption,所以密码保护在您的数据库。 我现在使用varchar来存储密码。 我有这样的想法,我应该以某种方式应用SHA-512函数的密码,并把这些数据的地方,使明文密码被删除。 但是,Perl中的数据types表明我在PostgreSQL中比varchar有更好的方法。 PostgreSQL中密码的数据types是什么?

为什么C ++ 11不支持匿名结构,而C11呢?

C11支持匿名结构,如下所示: struct Foo { struct { size_t x, y; }; }; struct Foo f; fx = 17; fy = 42; 基本上,这样的struct的成员被视为如果它们是封闭的struct或union成员(recursion,如果封闭的结构本身是匿名的)。 C ++ 11的基本原理是不包括匿名结构? 它们通常是非常有用的(大多数在工会内部,为了消除struct的标识符的键入)。 但是,对于规范(以及许多编译器已经实现的规范)来说,它们似乎是一个明显的补充,它们肯定已经被讨论过了,至less要保持与C11标准的兼容性。 那么他们为什么不添加?

Scalastring与java.lang.String – types推断

在REPL中,我定义了一个函数。 请注意返回types。 scala> def next(i: List[String]) = i.map {"0" + _} ::: i.reverse.map {"1" + _} next: (i: List[String])List[java.lang.String] 如果我指定返回types为String scala> def next(i: List[String]): List[String] = i.map {"0" + _} ::: i.reverse.map {"1" + _} next: (i: List[String])List[String] 为什么区别? 我也可以指定返回types为List [Any],所以我猜string只是一个包装到java.lang.String的超types。 这会有什么实际的影响,或者我可以安全地不指定返回types?

STArray文件的新手和州/ ST相关的问题

我很难从文档和其他howtos /我通过谷歌发现的讨论了解STArray 。 下面还有一些相关的问题。 根据文件, STArray是 ST monad中的可变盒装和非盒装数组。 这给我的印象是, STArray是用来作为一个状态被传递函数之间(想象你有一个向量,必须经常更新)。 显然,这有不同的用法: ST s (STArray sae) 这里的状态s什么? 如果它在内部使用,那么为什么这不是从用户隐藏? 这也意味着,如果我们想用一个STArray s Int Int作为状态传递,就可以定义 type StateArray a = Control.Monad.State (ST s (STArray s Int Int)) a 这似乎相当麻烦。 最后, ST State什么区别? 如果ST和IO是用于“内部”使用, STArray和IOArray之间有什么区别? 谢谢!!

什么时候适合使用KnownType属性?

阅读MSDN参考后,我仍然有关于何时使用KnownType属性的问题。 我知道该属性传递types信息到序列化程序,但是什么时候需要? 当被序列化的类引用了一个基类types,并且有可以被设置为那些引用的向上派生类时是否合适? 而且,过度使用这个属性有什么缺点吗? 例如,在前面的例子中,如果序列化类被标记了KnownType(baseClass),即使有一个明确的引用types?

使用IsAssignableFrom和'open'genericstypes

使用reflection,我试图find从给定的基类inheritance的types的集合。 找出简单的types并不需要太长的时间,但是当涉及到非专利types的时候,我却难以理解了。 对于这段代码,第一个IsAssignableFrom返回true,但是第二个返回false。 然而,最后的任务编译得很好。 class class1 { } class class2 : class1 { } class generic1<T> { } class generic2<T> : generic1<T> { } class Program { static void Main(string[] args) { Type c1 = typeof(class1); Type c2 = typeof(class2); Console.WriteLine("c1.IsAssignableFrom(c2): {0}", c1.IsAssignableFrom(c2)); Type g1 = typeof(generic1<>); Type g2 = typeof(generic2<>); Console.WriteLine("g1.IsAssignableFrom(g2): {0}", g1.IsAssignableFrom(g2)); generic1<class1> […]

学习scala的小型和好的scala项目 – 尤其是函数式编程和types系统

我已经学习了几个月的Scala,但仍然在初学者水平。 现在我发现我在函数式编程和scala的types系统方面遇到了很大的麻烦。 我试图find一些文件和博客,但我不明白其中的大部分(尤其是types系统的)。 所以我正在寻找一些小的,很好的Scala项目,我可以阅读来源学习。 你能推荐我一些吗?

在c ++中将非const转换为const

我知道你可以使用const_cast将一个const转换为非const 。 但是,如果你想将非const为const你应该使用什么?