问题标签 [casting]
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.
sql - 为什么使用 CAST 时 VARCHAR 的默认长度是 30?
在 SQL Server 2005 中,此查询
返回 30 作为长度,而提供的字符串有更多字符。这似乎是默认值。为什么是 30,而不是 32 或 2 的任何其他幂?
[编辑]我知道在转换为 varchar 时我应该始终指定长度,但这是一个快速的让我们检查一些东西的查询。问题仍然存在,为什么是 30?
c# - 有没有办法在不指定每种情况的情况下将对象转换回原始类型?
我有一个不同类型对象的数组,我使用 BinaryWriter 将每个项目转换为其二进制等效项,以便我可以通过网络发送结构。
我目前正在做类似的事情
问题是,如果错过了它们的类型,我的代码将来可能会中断。
我想做类似的事情。
但除非我每次都做演员,否则它不起作用。
编辑:
在咨询了答案之后,这就是我想出的功能。为了测试这个函数,将数组发送到 syslog。
c# - 为什么在 .net 2.0 中将 null 转换为原语(即:int)会引发 null ref 异常而不是无效的转换异常?
我正在浏览一些代码,并遇到了我的组合框尚未初始化的情况。这是在 .NET 2.0 和以下代码中,this.cbRegion.SelectedValue 为空。
此代码引发了一个空引用异常,而不是一个无效的强制转换异常。我想知道是否有人知道为什么它会抛出空引用异常而不是无效转换?
c++ - 枚举整数类型转换:运算符或函数
在我使用的外部代码中有枚举:
在我使用的另一个外部代码中,有 3 个 #define 指令:
很多时候我有 int X 等于 ValA 或 ValB 或 ValC,我必须将它转换为 En 的相应值(ValA 到 VALUE_A,ValB 到 VALUEB 等),因为某些函数签名具有枚举 En。很多时候我必须做相反的操作,将 enum En 转换为 ValA 或 ValB 或 ValC。我无法更改这些函数的签名,并且有很多这样的函数。
问题是:如何进行翻译?我应该创建 2 个将隐式使用的强制转换运算符吗?或者我应该只有 2 个将明确使用的翻译函数:
或者任何其他解决方案?
java - Java中的向下转型
Java 中允许向上转换,但是向下转换会产生编译错误。
编译错误可以通过添加强制转换来消除,但无论如何都会在运行时中断。
在这种情况下,如果 Java 不能在运行时执行,为什么它允许向下转换?
这个概念有什么实际用途吗?
java - 转换为在运行时确定的类
我有一个方法fetchObjects(String)
可以返回一个Contract
业务对象数组。className
参数告诉我应该返回什么样的业务对象(当然这在这种解释的情况下没有意义,因为我已经说过我会返回s Contract
,但这基本上是我在真实场景中的情况)。因此,我从某处获取条目集并加载集合条目的类(其类型由 指定className
)。
现在我需要构造要返回的数组,所以我使用Set
'stoArray(T[])
方法。使用反射,我为自己构建了一个空的 Contracts 数组。但是,这给了我一个静态类型的值Object
!所以接下来我需要将它转换为适当的类型,在这种情况下是Contract[]
(参见下面清单中的“星号下划线”部分)。
我的问题是:有没有办法以及如何Contract[]
像我在清单中那样转换,但只能通过(或)确定数组元素()的类型Contract
className
entriesType
?换句话说,我想做的基本上是这样的:(entriesType[]) valueWithStaticTypeObject
,其中 entriesType 被通过classname
参数指定的类替换,即Contract
。
这在某种程度上是不可能的,还是可以以某种方式完成?也许使用泛型?
谢谢。
更新:
toArray
使用来自CodeIdol的类型安全方法,我更新了我的fetchObjects
方法:
我需要做什么才能摆脱评论中引用的编译器错误?我是否必须Set<Contract>
在我的方法的返回类型中指定getEntrySet
才能使它起作用?感谢您的任何指示。
.net - 这是对铸造的低效使用吗?
这个问题是对我之前提出的问题的扩展(并得到了回答)。我正在重构我的代码,玩弄/试验各种重构的解决方案。
我想出的解决方案之一(但不满意..记住,我只是在尝试一些个人编码风格)是以下代码:-
请注意我如何将父对象data
转换为它多次暗示的接口类型?代码有效,但我觉得这是代码异味-> 效率不高。我觉得可以对此进行改进-那里有任何大师的想法吗?
python - Python 中的类型转换
我需要将 Python 中的字符串转换为其他类型,例如无符号和有符号 8、16、32 和 64 位整数、双精度、浮点数和字符串。
我怎样才能做到这一点?
vb.net - 为什么使用 TryCast 而不是 DirectCast?
当我尝试转换Object obj
为 TypeT
时,如果无法转换,则有问题。
在我投射对象之后,我将寻找使用投射对象的工作。
相反,我希望在我将要投射它的地方得到一个异常,而不是说我将在哪里使用该对象。
DirectCast
从这个意义上说,使用而不是更好TryCast
?还是我错过了使用的其他一些意义TryCast
?
php - 在运行时更改对象的类
我正在使用 CMS,Joomla,并且有一个核心类将一组参数呈现给一个表单,JParameter。基本上它有一个render()
功能,可以输出一些与我网站的其余部分不一致的表格 HTML。
对于可维护性的问题,并且因为我不知道在哪里使用它,我不想更改核心代码。理想的情况是能够定义一个扩展 JParameter 的新类,然后将我的 $params 对象向下转换为这个新的子类。