我要将C#程序转换为Java。有一次,我真的不知道那里做了什么。我更改了代码以澄清类型并举例说明。
string myString = "Test";
long l = (long)myString[0];
1)[0]用普通字符串做什么?这甚至可能吗?它只是子串,在这种情况下是“T”?
2)如果String表示文本,你怎么能把一个字符串或字符转换为long?
答案 0 :(得分:3)
long l = (long)myString[0];
字符串的索引给出了char。 char
可以投放为long
。这将为您提供字符串第一个位置中字符的长值(unicode值),即A
将为65
。
C#中不需要强制转换(long)
,因为char
具有long
和int
所谓的“隐式强制转换运算符”。以下陈述也是正确的:
long l = myString[0];
在Java中,C#中的char
等价于char
,尽管实现略有不同。在Java中,可以将char转换为int
或long
。要获取角色,请使用CharAt()
。
答案 1 :(得分:2)
我认为它将char代码转换为long。在Java中你必须:
long l = (long) myString.charAt(0)
答案 2 :(得分:1)
字符串是一个字符数组,因此可以访问给定的位置。
话虽如此,myString [0]正在访问第一个字符'T'。
然后,您可以将char转换为long,将其转换为ASCII位置值。
答案 3 :(得分:0)
您可以使用此转换器http://www.tangiblesoftwaresolutions.com/index.htm - 试用版可以免费转换一些行:)