1. 首先写了一个字符串转整形的算法:
public static class String2Int1 implements String2Int { @Override public int string2int(String str) { int value = 0; int pow10 = 1; for (int j = str.length() - 1; j >= 0; --j) { char charValue = str.charAt(j); if (charValue == '-' && j == 0) { value = -value; break; } if (charValue == '+' && j == 0) { break; } value = value + (charValue - '0') * pow10; pow10 = pow10 * 10; } return value; } }
打印时间:
1the time is 3143, strValue = -1001213121
2. 测试了Android SDK的算法:
public static class String2Int2 implements String2Int { @Override public int string2int(String str) { return Integer.valueOf(str); } }
打印时间:
1the time is 7980, strValue = -1001213121
Android SDK 算法比自己实现的算法慢了一倍。但是,自己实现的算法可不可以改进呢。
3. 改进的算法:从左向右怎么样呢,是不是可以快速一点:
public static class String2Int2 implements String2Int { @Override public int string2int(String str) { int result = 0; boolean negative = false; int i = 0, len = str.length(); int digit; char firstChar = str.charAt(0); if (firstChar < '0') { // Possible leading "+" or "-" if (firstChar == '-') { negative = true; } i++; } while (i < len) { digit = str.charAt(i++) - '0'; result *= 10; result += digit; } return negative ? -result : result; } }
打印时间:
1the time is 2774, strValue = -1001213121
总结
由此可见。最后一个算法减少了乘法运算的次数,因此速度要快一点。
如果您看了有收获,那么下载一个APl软件支持一下博主吧!还可以解决您的密码太多记不住的烦恼哦。
源码下载链接:
http://a.app.qq.com/o/simple.jsp?pkgname=com.wa505.kf.epassword
相关推荐
在Android开发中,理解和操作字符串以及16进制数值是至关重要的技能,尤其是在处理数据传输、存储或解析二进制数据时。这篇文章将深入探讨如何在Android平台上进行字符串与16进制之间的转换。 首先,我们要明白...
1138:将字符串中的小写字母转换成大写字母 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 54809 通过数: 25241 【题目描述】 给定一个字符串,将其中所有的小写字母转换成大写字母。 【输入】 输入一行,包含一...
在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...
python字符串转数字
6. **UI设计**:Android应用的用户界面(UI)设计是另一个重要方面。计算器通常包括数字按钮、运算符按钮、清除键以及显示区域。使用Android的布局管理器(如LinearLayout, RelativeLayout或ConstraintLayout)可以...
在Android开发中,数据转换是常见的操作之一,特别是在网络请求和本地存储之间交换数据时。本压缩包提供了两个关键功能:将Map对象转换为JSON字符串和将List对象转换为JSON字符串。这两个工具类对于Android开发者来...
数字字符串转BCD码,BCD码转字符串C函数,定义好的函数下载即可使用无需更改。
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
一、字符串转十六进制串 要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public...
以下是一些与字符串相关的面试题目及其解题思路: 1. **字符串循环左移**:给定一个字符串和一个整数k,将字符串中的每个字符向左移动k个位置。例如,字符串"abcdefg",k=2,移动后的结果为"efgabcd"。可以使用双...
3、BASE64转字符串:与字符串转BASE64功能相反,软件可以将BASE64编码的字符串还原为原始字符串,方便用户查看和使用。 4、字符串转HEX:将字符串转换为HEX编码,可以用于加密、签名等场景。软件提供了一键转换功能...
在面试或笔试中,遇到类似的字符串处理问题时,首先要理解题目的需求,明确操作的对象和目标,然后选择合适的数据结构和算法来解决问题。对于字符编码的处理,要熟悉ASCII码表,了解字符与数值之间的关系。在编写...
"Android存储字符串数据到txt文件" Android存储字符串数据到txt文件是Android开发中的一种常见需求,对于大多数开发者来说,存储字符串数据到txt文件是一种非常有用的功能。今天,我们将详细介绍如何在Android中...
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...
本文将详细介绍整形和字符串之间的各种转换,包括整形到字符串、字符串到整形、字符串到字符数组、字符数组到字符串、不同的进制之间的转换等。 整形到字符串的转换 在Java中,我们可以使用String.valueOf()方法将...
题目中提到的"asp字符串转json对象类"就是这样一个功能,它允许开发者将JSON格式的字符串转换为VBScript可以操作的对象。 在VBScript中,对象的属性通常通过"obj.property"的方式访问,但根据描述,这里的JSON对象...
删除字符串中的字符1 题目删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。2 分析本题是要处理字符串,在C语言中,我们把他转换为字符数组,则本质是要处理数组,在数组中删除某一元素的最简单...
在编程过程中,我们经常会遇到需要将从外部设备读取的字符串数据转换为实数的情况,以便进行数值计算和处理。本文将深入探讨如何在西门子PLC中实现字符串到实数的转换,并提供相关的编程技巧。 一、字符串与实数的...
之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter&...
Labview 字符串转ASCII字符串,比如:“123”->"313233",“abc”->"616263