小编Joh*_*aum的帖子

在openxml中的书签后插入文本

我正在寻找一种方法,使用openxml在word doc中的书签后插入一些文本.到目前为止,我已经能够使用以下内容找到书签:

var bookmarks = mainPart.Document.Descendants<BookmarkStart>().ToList();
var bookMarkToWriteAfter = bookmarks.FirstOrDefault(bm => bm.Name == insertAfterBoomark.Name);
Run Code Online (Sandbox Code Playgroud)

单词doc中的这个书签是doc中两行的选择.我必须在两行选择后立即插入一些文本.我试图使用以下内容插入文本:

var run = new Run();
run.Append(new Text("Hello World"));
bookMarkToWriteAfter .Parent.InsertAfterSelf(run);

mainPart.Document.Save();
Run Code Online (Sandbox Code Playgroud)

然而,这不会产生期望的结果.有没有人知道使用openxml在word文档中的书签后插入文本的正确方法?

c# ms-word word-automation openxml

7
推荐指数
1
解决办法
8119
查看次数

存储和比较数据库中的对象

我正在开发一个Android应用程序,它加载到学生列表中,以显示在基于列表的活动中.该应用程序有两个组件.有一个服务器通过xml响应当前活跃学生的列表和应用程序端的数据库,该数据库存储这些学生的一些细节(姓名,年龄等).我想要一种同步这两个数据源的方法.当应用程序启动时,我想检查xml以查看是否添加/删除了服务器上的学生并相应地更新了数据库.

我会在登录时将xml列表解析为学生对象.有没有办法将整个对象存储/检索到android支持的数据库中,所以我可以直接比较看看更新/删除的内容?它最终会变成类似的东西

if (serverStudent[0].name == dbStudent[0].name)
   //overwrite dbStudent object with serverStudent fields
Run Code Online (Sandbox Code Playgroud)

在Android中实现对象持久性然后比较的最有效/轻量级方法是什么?

java android

5
推荐指数
1
解决办法
867
查看次数

将两个类似的json字段编组到同一个java字段

我有一个示例虚拟JSON响应,如下所示:

    {
        "id": 1,
        "teacher_name": "Foo",
        "teacher_address": "123 Main St.",
        "teacher_phone_num": 1234567891,
        "student_name": "Bar",
        "student_address": "546 Main St.",
        "student_phone_num": 9184248576
    }
Run Code Online (Sandbox Code Playgroud)

以上是一个愚蠢的例子,但它有助于说明我试图使用Jackson将上述内容反序列化为名为"Employee"的Java类:

public class Employee {
    String name;
    String address;
    String phoneNumber;
}
Run Code Online (Sandbox Code Playgroud)

问题是JSON有两个不同的prepends所以我不能在Employee中注释每个字段,并且让对象映射器将teacher_name和student_name映射到Employee对象中的name字段.杰克逊有没有办法指定两个不同名称的节点来映射到同一个Java字段?

java json jackson

5
推荐指数
1
解决办法
367
查看次数

Javascript函数执行顺序

我是javascript的新手并且有一个简单的问题.说我有以下代码:

function entryPoint()
{
   callFunction(parameter);
}

function callFunction(parameter)
{
   ... //do something here
   var anotherFunction = function () { isRun(true); };
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,在callFunction(parameter)调用时,anotherFunction声明变量,isRun(true)实际上是否在实例化期间执行?我认为它没有,并且另一个函数的内容只是"存储"在变量中,以便在线路的某个地方逐行进行调用anotherFunction().任何人都可以澄清功能混乱吗?

javascript

4
推荐指数
1
解决办法
3242
查看次数

比较器工作方式的效率

我试图使用比较器来帮助排序对象列表.我有一个问题,关于比较器的确切工作原理以及它在以下示例中的作用:

private static Comparator<Student> comparator()
{
        return (Student a, Student b) ->
        {  
                return Integer.compare(complexOperation(a), complexOperation(b));
        }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,需要根据complexOperation()方法返回的整数排名对学生进行比较和排序.顾名思义,这是一项繁重的操作.上述方法是否最有效?或者,最好是基本上遍历我要排序的列表中的complexOperation()每个学生,执行每个学生并将结果存储在Student对象的字段中.然后比较器会做一个:

Integer.compare(a.getRank(), b.getRank())
Run Code Online (Sandbox Code Playgroud)

这两种方法是否具有可比性,或者由于比较器的工作方式(可能比较同一个对象不止一次,因此在比较期间每个学生多次运行complexOperation()),进行预计算会更快吗? complexOperation()会导致学生领域?

以上将被称为如下:

Collections.sort(students, comparator());
Run Code Online (Sandbox Code Playgroud)

希望很清楚!

编辑:让我们说,为了它,不可能向Student对象添加一个字段(对于更复杂的情况,这是一个玩具问题,我无法修改Student对象).是否仍然可以更好地创建一个自定义对象,其中学生坐在里面添加另一个字段而不是在比较器中执行complexOperation()?或者还有另一种解决问题的方法吗?我可以考虑创建一个Hashmap,它将student id作为键,并将complexOperation()的结果作为值,并在比较器中创建/访问该记录?

java sorting performance comparator

4
推荐指数
2
解决办法
1048
查看次数

将字符串列表转换为对象

我正在寻找一种方法将我的 List(Of string) 转换为 vb 中的对象。所以最终它与声明 Dim cArray() As Object = new Object 相同。谁能指出我如何实现这一目标?我不能使用 LINQ .ToArray,因为它创建了一个字符串数组,这对我的工作来说是不可接受的。我需要将此对象传递给另一个具有参数的对象(数组作为对象)。

谢谢

vb.net

3
推荐指数
1
解决办法
8160
查看次数

字典条目数组的数据结构

我正在寻找java中的一种本机方式(最好)来实现一个数据结构来保存一个int作为键和一组键/值对作为值。本质上,if 是一个由索引引用的字典数组。

前任:

MyDataStructure[[Key,Value]] foo = new ...

foo.put[["hello", "world"], ["so","rocks"]]
Run Code Online (Sandbox Code Playgroud)

println(foo[0].getValue("hello"))会打印出来"world"println(foo[0].getValue("so"))打印出来"rocks"

java

3
推荐指数
1
解决办法
2万
查看次数

单击项目时禁用 RecyclerView

我有一个 recycler 视图,适配器中的每个条目都有一个简单的复选框。我在 RecyclerView 下方还有一个 Done 按钮,单击该按钮时,会启动一个 API 调用,其中包含用户已选中的所有项目。问题是 api 调用返回(自然)和活动完成之间存在轻微延迟,如果它们足够快,则允许用户点击任何复选框。

有没有办法禁用 RecyclerView 的触摸事件来防止这种情况?我尝试了一个回调,当单击完成按钮无效时执行以下操作:

mRecyclerViewList.setClickable(false);
mRecyclerViewList.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)

我不想使用 onBindViewHolder 来实际禁用每个项目,因为这意味着重新加载整个 RecyclerView 以强制执行该方法。

android android-recyclerview

3
推荐指数
1
解决办法
8115
查看次数

搜索数组中对象的属性

我有一个NSArray对象具有firstName,lastName,clientID等属性,我想基于搜索关键字对数组执行搜索.必须根据名字和姓氏属性检查此关键字,并返回原始数组的子集,该子集仅包含名字/名字包含搜索词的对象.有没有有效/快速的方法来做到这一点?

xcode objective-c ios

2
推荐指数
2
解决办法
3484
查看次数

合并包含列表的对象列表

我有一个自定义Foo对象列表,每个对象包含2个Cat和Dog对象列表,如下所示:

class Foo {
   List<Cat> cats;
   List<Dog> dogs;
}

class Cat {
   int id;
}

class Dog {
   String name;
}
Run Code Online (Sandbox Code Playgroud)

我有一个方法,我传入一个List请求,我想把它压平到一个Foo对象,其中包含每个请求狗和猫拼合在一起.有一个干净的紧凑方式吗?

来源清单:

List<Cat> catsForOne = new ArrayList<>(); // add a bunch of cats
List<Cat> catsForTwo = new ArrayList<>(); // add a bunch of cats
List<Dog> dogsForTwo = new ArrayList<>(); // add a bunch of dogs

List<Foo> requests = new ArrayList<>();
Foo one = Foo.builder().cats(catsForOne).build();
Foo two = Foo.builder().dogs(dogsForTwo).cats(catsForTwo).build();

requests.add(one);
requests.add(two);
Run Code Online (Sandbox Code Playgroud)

结果应该是:

Foo有一个List = catsForOne + catsForTwo和一个List = dogsForTwo

这是一个玩具示例,但你可以想象foo有大约5-6个集合(即Cat,Dog,Pig,Duck等),我想拥有一个Java …

java java-8

2
推荐指数
1
解决办法
302
查看次数

通过搜索关键子字符串返回字典中键的存在

我有一个字符串人(键)和字符串地址(值)的字典.我希望有一个if语句,如果我的字典中的任何键包含子字符串'anders',则返回true.有没有办法做到这一点?我已经尝试过dict.ContainsKey("anders"),但如果任何键被明确命名为"anders",则返回true.即使密钥是安德森或安徒生,我也希望它返回真实.我知道这是一个非常奇怪的案例,但我需要它是出于某种目的.

谢谢

c#

0
推荐指数
1
解决办法
2370
查看次数

访问块内的属性

我是 iOS 块的新手,有一个关于它们使用的快速问题。假设我有以下设置:

viewController.rowLabels = @[@"Hello", @"World"];
viewController.testBlock = ^(NSInteger itemIndex) {
// here i want to access another property of the viewController called foo
};
Run Code Online (Sandbox Code Playgroud)

因此,如上所示,我想访问块本身内的视图控制器的另一个属性。我需要做一个 *__weak -> strong assignment 来实现这一点,还是我可以像 NSLog(viewController.foo) 一样简单地访问它?

objective-c ios

0
推荐指数
1
解决办法
1264
查看次数