最近公司需要一个手机的Java ME客户端,于是乎就开始研究。
发现限制太多了,也可能是用Java SE用习惯了。真是带着镣铐跳舞。很多Java SE有的东西,在Java ME 里都需要自己实现。
比如:String 类的Split方法。还就是集合只有Hashtable和Vector。
我写了两个工具方法:
string2Vector
可以用来处理类似CSV格式的String。
比如:
String in="abd,ddd,adsfa";
Vector out = StringUtil.string2Vector(in, ",");
string2Hashtable
可以用来处理Properties文件格式的String。
比如:
name=abc
age=123
gender=male
String in = "name=abc\nage=123\ngender=male";
Hashtable out = StringUtil.string2Hashtable(in, "\n", "=");
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
public class StringUtil {
public static Vector string2Vector(String in, String delimiter) {
Vector vector = new Vector();
if (in == null) {
return null;
}
if (delimiter == null || delimiter.length() == 0) {
vector.addElement(in);
return vector;
}
int fromIndex = 0;
int pos;
while ((pos = in.indexOf(delimiter, fromIndex)) >= 0) {
String interim = in.substring(fromIndex, pos);
if (interim.length() > 0) {
vector.addElement(interim);
}
fromIndex = pos + delimiter.length();
}
return vector;
}
public static Hashtable string2Hashtable(String in, String delimEntry,
String delimKey) {
if (in == null) {
return null;
}
Hashtable hashtable = new Hashtable();
if (delimEntry == null || delimEntry.length() == 0 || delimKey == null
|| delimKey.length() == 0) {
hashtable.put(in, "");
return hashtable;
}
Enumeration enumeration = string2Vector(in, delimEntry).elements();
int len = delimKey.length();
while (enumeration.hasMoreElements()) {
String entry = (String) enumeration.nextElement();
int pos = entry.indexOf(delimKey);
if (pos > 0) {
String value = entry.substring(pos + len);
hashtable.put(entry.substring(0, pos), value);
} else {
hashtable.put(entry, "");
}
}
return hashtable;
}
}
分享到:
相关推荐
Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `stringObj` 是要被分解的字符...
String com = str.split("%")[1]; if (com.equals("EXIT_CHATROOM")) { hs.remove(s); printMessage(str.split("%")[2] + ",leave!"); s.close(); break; } } else { /* 正常情况,直接向客户端群发消息 ...
4. **改进的字符串操作**:在`String`类中,新增了一些实用方法,如`join()`用于连接字符串数组,`split()`的限制参数使得分割更具灵活性,以及`isBlank()`判断字符串是否为空或仅包含空白字符。 5. **新集合工厂...
在循环语句中,我们使用了 indexOf() 方法来判断字符是否是数字,然后使用 replace() 方法来将数字与字母之间用下划线字符(_)分开。 该实现实例展示了 Java 字符串拼接的实现过程,并提供了一个实际的编程例子,...
// 获取消息中的用户和聊天室 String userID = me.getUserId(); String groupID = me.getGroupId(); // 获取消息内容 String message = me.getMessage(); // 输出接收到的信息 System.out.println("接收到消息:" +...
### 蓝桥杯大题总结之Java版详解 #### 一、全排列问题解析 ...以上两个问题展示了在Java编程中处理全排列以及字符串操作的一些常见技巧和方法。这些练习有助于加深对递归、字符串处理、正则表达式的理解和应用。
String[] audienceNames = input.split("\n"); int randomIndex = (int) (Math.random() * audienceNames.length); String winner = audienceNames[randomIndex]; String message = "恭喜,中奖者是:%s"; ...
String ip = scanner.nextLine().split(":")[1].trim(); System.out.println(ip); scanner.close(); } } ``` 这些示例都通过HTTP GET请求获取外网IP,并解析返回的文本内容。 4. **应用案例**: - **远程...
在Java中,我们可以使用`split()`函数来完成这个任务,但在Shell中,由于`split`已经被用于文件分割,所以我们需要寻找其他方法来实现字符串的分割。本文将详细介绍三种使用指定分隔符来分割字符串的方法。 方法一...
这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>... <#else> ... 例子如下: (age>60)>老年人 ...
String[] words = line.split("\\s"); for (String word : words) { context.write(new Text(word), new IntWritable(1)); } } } // Reducer类 public class WordCountReducer extends Reducer, IntWritable, ...
//java中是这样写得Tank t = new Tank(x,y,good,dir,tc) Tank t = new Tank(x, y, good, dir, tc); //有可能是老坦克 给新坦克发包 所以要家dir参数 t.ID = id; tc.tanks.Add(t); } } 6.坦克移动消息 public ...
8. **Anko库**: Anko是一个用于简化Android开发的库,提供了DSL(领域特定语言)来替代XML布局和Java的冗长代码。例如,使用Anko创建布局: ```kotlin verticalLayout { textView("Hello, Kotlin!") button(...
* $License : GPL,so any change to the code you should copy and paste this section,and would be nice to report this to me(renzi.mrc@gmail.com). */ (function($) { $.fn.jqzoom = function(options) { ...
1.x/6.0 (Java) <END><br>6 , ocxex.zip "This is a quick example I made to show you how to use Events and properties in a OCX."<END><br>7 , news.exe This control aids as a complete Newsgroup ...