NSRange:从 Objective-C 到 Java
NSRange : from Objective-C to Java
我必须翻译这个基于 Objective-C 的代码
for (i = (int)[annots Size]-1; i>=0; --i) {
PTField *field = [[PTField alloc] initWithField_dict: [annots GetAt: i]];
NSString *nameField = [field GetName];
NSRange range = [nameField rangeOfString:@"_FIXPDFBOX"];
if ( range.location != NSNotFound ) {
NSRange sub = NSMakeRange( 0, range.location );
[field Rename:[nameField substringWithRange:sub]];
}
}
进入Java。这是我所做的:
for (i = annots.size() - 1; i >= 0; --i) {
Field field = new Field(annots.getAt((int) i));
String nameField = field.getName();
int range = nameField.indexOf("_FIXPDFBOX");
if (range != -1) {
int sub = range;
field.rename(nameField.substring(sub));
}
}
(PTField 是 Java 中的字段)。
但我认为我的问题是在将 NSRange 转换为 Java 时。你能帮我翻译一下吗?
非常感谢:-)
你可以这样做:
for (i = annots.size() - 1; i >= 0; --i) {
Field field = new Field(annots.getAt((int) i));
String nameField = field.getName();
int range = nameField.indexOf("_FIXPDFBOX");
int size = "_FIXPDFBOX".length();
if (range != -1) {
int sub = range;
field.rename(nameField.substring(sub, sub+size));
}
}
我必须翻译这个基于 Objective-C 的代码
for (i = (int)[annots Size]-1; i>=0; --i) {
PTField *field = [[PTField alloc] initWithField_dict: [annots GetAt: i]];
NSString *nameField = [field GetName];
NSRange range = [nameField rangeOfString:@"_FIXPDFBOX"];
if ( range.location != NSNotFound ) {
NSRange sub = NSMakeRange( 0, range.location );
[field Rename:[nameField substringWithRange:sub]];
}
}
进入Java。这是我所做的:
for (i = annots.size() - 1; i >= 0; --i) {
Field field = new Field(annots.getAt((int) i));
String nameField = field.getName();
int range = nameField.indexOf("_FIXPDFBOX");
if (range != -1) {
int sub = range;
field.rename(nameField.substring(sub));
}
}
(PTField 是 Java 中的字段)。 但我认为我的问题是在将 NSRange 转换为 Java 时。你能帮我翻译一下吗?
非常感谢:-)
你可以这样做:
for (i = annots.size() - 1; i >= 0; --i) {
Field field = new Field(annots.getAt((int) i));
String nameField = field.getName();
int range = nameField.indexOf("_FIXPDFBOX");
int size = "_FIXPDFBOX".length();
if (range != -1) {
int sub = range;
field.rename(nameField.substring(sub, sub+size));
}
}