问题标签 [primitive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 确定十进制值的最快最有效方法是Java中的整数
给定一个名为sizeValue
并且sizeValue
包含非 0 的双精度变量,确定sizeValue
包含整数值的最有效方法是什么?
目前我正在使用
大小值 % 1 == 0
还有其他更快的方法吗?
java - 关于原语的快速问题
由于我的坏例子而编辑了这个问题。这是我更新的问题:
以下在速度和内存分配方面是否相等:
和
c# - Java 和 C# 中的原始类型是否不同?
我正在手动将代码从 Java 转换为 C#,并与(我称之为)原始类型(参见,例如Do autoboxing 和 unboxing 在 Java 和 C# 中表现不同)作斗争。从答案中我了解到double
(C#) 和Double
(C#) 是等效的,并且double
(C#) 也可以在容器中使用,例如作为字典中的键。但是,double
(Java)不能在像 HashMap 这样的容器中使用,这就是它被自动装箱到Double
(Java)的原因。
double
(C#) 是原语还是对象?- 如果它是原始的,是什么使它的行为与
double
(Java)不同?
double
(C#) 不能设置为 null,除非它是 made nullable
。
- (C#)是否
double?
等同于Double
(Java)?它们都被称为对象吗?
(在这个讨论中使用术语“第一类对象”有用吗?)
c# - Java和C#中“原始”、“值类型”、“结构”、“类”、“包装”的定义
我一直试图了解 Java 和 C# 中“原语”的使用以及它们之间的区别(如果有的话)。我已经就 SO 提出了一系列问题,其中一些答案似乎混淆了这个问题,而不是澄清它。一些答案(和一些 MS 文档)似乎提供了相互矛盾的陈述。从 SO
并来自 MS: http: //msdn.microsoft.com/en-us/library/ms228360%28VS.80,lightweight%29.aspx
- “结构与类非常相似” - “Int32
类包装int
数据类型” - “另一方面,C# 中的所有原始数据类型都是 System 命名空间中的对象。对于每种数据类型,都提供了一个短名称或别名。例如,int
是 System.Int32 的短名称”。
我的困惑主要在于 C#(我已经编写了一段时间的 java 程序)。
编辑@Jon Skeet 已确认以下段落是正确的
- Java 有两种类型(原始类型和类)。“值类型”这个词可能是原始(尽管没有广泛使用)的同义词,也是类的“引用类型”的同义词。Java 在类 (Integer) 中“包装”原语 (int),这些类具有任何其他类的完整功能(可以为 null,用于集合等)
编辑@Jon 对 C# 给出了非常明确的声明,所以我将删除我建议的事实并参考他的回答。
进一步的问题:对于这些术语的实际使用应该是什么达成共识?如果有共识,我将非常感谢明确说明。否则,我认为术语是混乱的,因此用途有限。
总结感谢您提供非常明确的答案。真正理解这一点的人达成了共识(参见@Jon 接受的答案),MS 文档是一致的(尽管他们在某些地方提到了 Java,而我误读了这些 C#)
c# - .NET 原语和类型层次结构,为什么要这样设计?
我想了解为什么在 .NET 上有九种整数类型:Char
, Byte
, SByte
, Int16
, UInt16
, Int32
, UInt32
, Int64
, 和UInt64
; 加上其他数字类型:Single
, Double
, Decimal
; 所有这些类型都没有任何关系。
当我第一次开始用 C# 编码时,我想“很酷,有一种uint
类型,当不允许使用负值时,我将使用它”。然后我意识到没有使用 API uint
,而是使用了 API int
,并且它uint
不是从 派生的int
,因此需要进行转换。
这些类型的实际应用是什么?为什么不具有,而不是integer
和positiveInteger
?这些是我能理解的类型。一个人的年龄(以岁为单位)是 a positiveInteger
,并且因为positiveInteger
是一个子集,integer
所以无论何时integer
都需要转换。
下面是 XPath 2.0 和 XQuery 1.0 中的类型层次结构图。如果你往下看,xs:anyAtomicType
你可以看到数字层次结构decimal
> integer
> long
> int
> short
> byte
。为什么.NET 不是这样设计的?新框架“奥斯陆”会有什么不同吗?
java - 当类已知时创建(装箱)原始实例
我需要一个返回所提供类类型实例的方法。让我们假设提供的类型仅限于可以创建它们的“空”实例。例如,提供String.class
将返回一个空字符串,提供一个Integer.class
将返回一个初始值为零的整数,等等。但是我如何动态创建(盒装)原始类型?像这样?
是遍历所有可能的原始类型的唯一解决方案,还是有更直接的解决方案?请注意,两者
和
抛出一个InstantiationException
(因为它们没有空构造函数)。
c++ - 有没有在 openCL 之上构建的好的 3rd 方库?
我特别考虑处理原语,如 FFT、卷积、相关、矩阵数学、任何类型的机器视觉原语。我一直没能在这些方面找到任何东西,有人知道有什么好的项目如雨后春笋般涌现吗?
c - 用C画一个多边形
我需要在给定 2 个点(他的顶点的中心和 1 个顶点)的情况下绘制一个“n”边的多边形,只是我在数学上很烂。我读了很多书,所有这些都是我能够理解的(我不知道它是否正确):
好的,我用毕达哥拉斯定理取两点(半径)之间的距离:
以及这2点与atan2之间的角度,如下所示:
其中 xc, yc 是中心点,x, y 是唯一知道的顶点。
有了这些数据,我会:
问题是程序不能正常工作,因为它绘制的线条不像多边形。
有人怎么知道足够的数学来帮忙?我正在使用 C 和 turbo C 在这个图形基元中工作。
编辑:我不想填充多边形,只需绘制它。
c - 洪水填充算法
我正在使用 turbo C++ 在 C 语言中的一个简单图形库中工作,因为我正在开发一个非常原始的绘画风格程序版本,一切都很好,但我无法让洪水填充算法工作。我使用 4 路洪水填充算法,首先我尝试使用递归版本,但它只适用于小区域,填充大区域使其崩溃;阅读我发现实现它的显式堆栈版本可以解决问题,但我并没有真正看到它。
我开发了一个这样的堆栈:
这是我对洪水填充功能所做的代码:
但它仍然不起作用,当我试图填充大面积区域时它会停止,因为我在我的程序中使用分辨率 640 X 480 这真的是个问题;任何想法为什么它不起作用?
java - 检查原始字段的类型
我正在尝试确定对象上字段的类型。我不知道传递给我的对象的类型,但我需要找到long
s 的字段。区分盒装的 s 很容易,Long
但原语long
似乎更难。
我可以确保传递给我的对象只有Longs
,而不是原语,但我宁愿没有。所以我所拥有的是:
一种似乎可行的hacky方式是:
如果有的话,我真的很想要一种更清洁的方法来做到这一点。如果没有更好的方法,那么我认为要求我收到的对象仅使用Long
(not long
) 将是一个更好的 API。
有任何想法吗?