问题标签 [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.
objective-c - Objective-C 方法参数问题
我正在尝试定义一个非常简单的实用程序方法,这将使我不必使用计算器将 RGB 值定义为百分比。当我在 DrawView.m 文件的第 96 行查看 Apple 的示例代码“QuartzCache”时,我看到了:
但是,当我尝试创建如下方法时,编译器讨厌我。半小时的密集谷歌搜索没有产生任何帮助。
定义这种方法的正确方法是什么?我在这里做错了什么?
java - 在 API 设计中避免使用原语?
我正在设计一个 API。它将有很多方法做同样的事情,但有不同的参数原语。
由于原语,我必须复制和粘贴很多,我认为随着时间的推移,这是相当不可维护的。在方法和构造函数中避免使用原语是个好主意吗?例如,上面的替换将是:
编辑:
这有什么缺点?
c# - c# 中的原始数据类型是原子的(线程安全的)吗?
例如,bool
多线程时是否需要锁定一个值?
java - 尝试在泛型中使用原始类型时出现奇怪的编译时行为
我试图完全理解泛型在 Java 中是如何工作的。在上面代码片段的第三个赋值中,事情对我来说有点奇怪:编译器抱怨Integer[]
无法转换为int[]
. 当然,该声明是 100% 正确的,但我想知道为什么编译器会提出此投诉。
如果您注释该行,并按照编译器的“建议”进行第四次赋值,编译器实际上是满意的!!! 现在代码编译得很好!当然,这很疯狂,因为就像运行时行为所暗示的那样,int[]
无法转换为Object[]
(这是T[]
在运行时类型擦除的内容)。
所以我的问题是:为什么编译器“建议”我分配给Integer[]
第三次分配?编译器是如何得出这个(错误的!)结论的?
到目前为止,这两个答案存在很多混淆,因此我创建了另一个令人费解的示例来说明这里的潜在问题:
我是唯一一个认为编译器让上面的代码编译绝对是疯狂的人吗?
c.getSuperclass().getName()
例如,在上面的代码中打印并不是不合理的,因为我指定了T extends Number
. 当然现在getName()
会扔的NullPointerException
时候c == int.class
,既然c.getSuperclass() == null
。
对我来说,这是拒绝编译代码的一个很好的理由。
也许是终极疯狂:
该代码编译并运行良好。
java - Casting a primitive int to a Number
Let's say that I have the following:
http://java.sun.com/docs/books/jls/first_edition/html/15.doc.html#238146 says that a primitive value may not be cast to a reference type. Does Java know to create an Integer from the primitive int and then cast to the superclass? How exactly does Java handle this behind the scenes? Thanks!
java - JNI 新的原始类型
我们如何在 JNI 中创建新的原始类型。我有一个返回jobject
. 可以返回jint
,jchar
等。
有,NewString
为什么没有NewInteger
,,,等等。目前在 JNI 层没有自动装箱。NewCharacter
NewDouble
我可以进行NewObject
调用,但是创建原始类型的开销太大。
我有包装函数来获取 Class 和 MethodID。
java - JPA(Hibernate)列映射中的原始类和包装类有什么区别?
例如,数据库表中有一个整数列。然后在 java 模型中,它可以映射为原始 int和Integer。我的问题是在这种情况下 int 和 Integer 有什么区别?和性能问题?谢谢!
xna - 带有第一人称相机的 XNA 中的纹理基元
所以我设置了一个 XNA 应用程序。相机处于第一人称模式,用户可以使用键盘四处移动并使用鼠标重新定位相机目标。我已经能够很好地加载 3D 模型,它们出现在屏幕上也没问题。每当我尝试绘制任何图元(纹理与否)时,无论我如何定位相机,它都不会出现在屏幕上的任何位置。
在 Initialize() 中,我有:
在 LoadContent() 中,我有:
在 Draw() 我有:
我认为我在 quadEffect 属性中做错了,但我不太确定是什么。
java - 如何使用 Jersey REST 序列化 Java 原语
在我的应用程序中,我使用 Jersey REST 序列化复杂对象。这工作得很好。但是有一些方法只返回一个 int 或 boolean。
Jersey 无法处理原始类型(据我所知),可能是因为它们没有注释,并且 Jersey 没有默认注释。我通过创建像 RestBoolean 或 RestInteger 这样的复杂类型来解决这个问题,它们只保存一个 int 或 boolean 值并具有适当的注释。
难道没有比编写这些容器对象更简单的方法吗?
objective-c - Objective-C 类,指向原始类型的指针等
我将长话短说,并举一个我的问题的例子。
给定一个具有指向原始类型的指针作为属性的类:
类被实例化,并且 aNumber 被分配并分配一个值,相应地:
然后通过引用传递它来分配此类类的单独实例的 aNumber 值,相应地:
然后 Fred 的 aNumber 指针被释放、重新分配并分配一个新值,例如 7。
现在,我遇到的问题;由于 Fred 被分配了与 Bob 相同的指针,我希望 Bob 的 aNumber 现在的值为 7。它没有,因为由于某种原因它的指针被释放,但没有重新分配(它仍然指向第一次分配的地址相同,现在已释放)。然而,Fred 的指针在不同的内存位置具有分配的值 7。
为什么会这样?我在误解什么?我怎样才能让它像 C++ 一样工作?
编辑:对,一个新鲜的早晨,我可以看到我举了一个非常糟糕的下午 5 点综合症的例子。我想要做的更像是这样的:
numA 被分配并赋值。稍后,在一个单独的线程中(带有必要的锁等),这是完成的:
numA 确实被释放,但没有被分配 numB 指向的值,这是我想要的行为。
更长的故事的一部分是它是传递给openGL的顶点缓冲区的一部分的顶点计数。我意识到它不应该是一个指针,但是坐标的 float* 缓冲区以相同的方式处理并且需要具有可变大小,所以我想解决这个问题也可以解决这个问题。