Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中保存字符串的最后4个字符_Java_Android_String - Fatal编程技术网

Java 在android中保存字符串的最后4个字符

Java 在android中保存字符串的最后4个字符,java,android,string,Java,Android,String,今天早上的一个很简单,但给我带来了问题,似乎找不到任何代码。我已经创建了一个数字的十六进制表示,现在希望保存十六进制字符串的最后4个字符,然后再转换回整数 转换的代码如下所示: int in2 = new Integer(mycard.resourceid.toString()); String hex = Integer.toHexString(in2); 如果有人能把我推向正确的方向,我将不胜感激 int in3 = new Integer(hex.length()); int in4 =

今天早上的一个很简单,但给我带来了问题,似乎找不到任何代码。我已经创建了一个数字的十六进制表示,现在希望保存十六进制字符串的最后4个字符,然后再转换回整数

转换的代码如下所示:

int in2 = new Integer(mycard.resourceid.toString());
String hex = Integer.toHexString(in2);
如果有人能把我推向正确的方向,我将不胜感激

int in3 = new Integer(hex.length());
int in4 = new Integer (in3 - 4);
String mystring = hex.subString(in4, in3);

如果您只需要轻轻移动,请查找
String
类的
substring
方法

编辑:响应OP后续操作的一些示例代码:

public class Test {
    public static void main(String[] args) throws Exception {
        Integer in2 = 897387483;
        String hex = Integer.toHexString(in2);
        System.out.println(hex);
        System.out.println(hex.substring(hex.length()-4, hex.length()));
    }
}
(新整数(intValueYouLikeToConvert&0xffff)).toHexString()将完成此操作


前面的所有示例都没有考虑到结果字符串可能短于4个字符

让我们假设您的十六进制字符串为:string hex=oxFFFFFF
取子串hex=hex.子串(2)

要删除最后4个字符,请重试一次

yourString.substring(0, yourString.length() - 4) ;
仅保留最后4个字符

yourString.substring(yourString.length() - 4, yourString.length()) ;

关于代码格式的快速说明:缩进4个字符(或使用编辑器中的
{}
按钮)就足以格式化代码。如果你将它缩进4的倍数,它会在页面的一半处结束,并最终触发一个水平滚动条。很抱歉,它保留了代码本身的缩进,现在修复了它。难道你看不出这是如何使用字符串的吗?有一个小问题,就是我试图使用字符串。更新原件时,看不到我是如何使用字符串的。@chris我在答案中添加了一段示例代码。它运行正常。看看你能不能把它和你所拥有的相比较。我认为你把
子字符串
大写错误了。太棒了-谢谢你-我又犯了一个新手错误!嗨,我很抱歉我是一个安卓nooby,我想知道为什么我的错误会出现。我希望保存的十六进制字符是9f8f等,保存为int不会导致像f这样的字符出错吗?所以。。。不要将它解析为int。我不明白问题是什么。
yourString.substring(yourString.length() - 4, yourString.length()) ;