似乎是一个相当热门的问题,但我还没有找到解决方案; 也许是因为它有这么多口味.虽然这是.我正在尝试阅读一些逗号分隔文件(偶尔分隔符可能比逗号更独特,但逗号现在就足够了).
这些文件应该在整个行业标准化,但最近我们已经看到了许多不同类型的字符集文件.我希望能够设置一个BufferedReader来弥补这一点.
这样做的标准方法是什么,并检测它是否成功?
我对这种方法的第一个想法是循环遍历字符集simple-> complex,直到我可以无异常地读取文件.虽然不完全理想......
感谢您的关注.
我有一个对象的"库",我想从数据库中动态加载.每个对象都有自己的特殊函数,这些函数在特定时间根据对象类型调用.理想情况下,我希望能够做到这一点,虽然有人指出这不起作用:
library = {
"myObj" : {"name" : "myObj", "type" : "myType", "function" : function () { } } //, etc
}
Run Code Online (Sandbox Code Playgroud)
字符串"myObj"在我的程序中传递了很多,但我只需要一次访问对象的某些值,并且在某些情况下需要运行特定的函数.问题是我正在查看数百个,最终成千上万个可能存在不同功能的潜在对象.
存储要像这样调用的函数的"正确"方法是什么.我知道在执行期间调用eval会非常不安全,从而实现xss攻击等等.我真的想避免大量的switch语句或额外函数的膨胀加载.我也希望解决方案尽可能简洁.
这可能不是第一次出现.; /
谢谢你的帮助.
我有一个Hashtable类型的Hashtable
我已经加载了几个字符串作为键,其中一个是"ABCD"
但是,稍后当我去查找"ABCD"时,Hashtable返回null而不是关联的对象.此外,密钥集包含"ABCD",但对containsKey("ABCD")的请求返回false.
这是因为String对象本质上是不同的对象吗?
如果是这样,如果我想使用字符串作为键,那么在Hashtable中存储信息的写入方式是什么?
public class Field {
private String name;
private DataType dataType;
public Field(String name, DataType dataType) {
this.name = name;
this.dataType = dataType;
}
public String getName() {
return name;
}
public DataType getDataType() {
return dataType;
}
public String toString() {
return name;
}
}
public class Record {
private Hashtable<String, Data> content;
public Record(Field[] fieldList) {
this.fieldList = fieldList;
content = new Hashtable<String, Data>();
System.out.println(fieldList.length);
for(Field f : fieldList) {
content.put(f.getName(), new Data());
} …Run Code Online (Sandbox Code Playgroud)