小编seb*_*kur的帖子

如何在我的自定义视图中使用标准属性android:text?

我写了一个扩展的自定义视图RelativeLayout.我的视图有文本,所以我想使用标准,android:text 而不需要在每次使用自定义视图时指定<declare-styleable>使用自定义命名空间xmlns:xxx.

这是我使用自定义视图的xml:

<my.app.StatusBar
    android:id="@+id/statusBar"
    android:text="this is the title"/>
Run Code Online (Sandbox Code Playgroud)

如何获取属性值?我想我可以得到android:text属性

TypedArray a = context.obtainStyledAttributes(attrs,  ???);
Run Code Online (Sandbox Code Playgroud)

???在这种情况下是什么(在attr.xml中没有样式)?

android attributes custom-controls

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

如何从Guava中的List获取max()元素

假设我们有一个项目集合:

class Item {
    public String title;
    public int price;
}

List<Item> list = getListOfItems();
Run Code Online (Sandbox Code Playgroud)

我想从Guava库中获得一个具有最大价格的物品(订购,我推测).我的意思是类似于这个Groovy代码:

list.max{it.price}
Run Code Online (Sandbox Code Playgroud)

我怎么做?效率如何?

java guava

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

为什么没有getFirst(可迭代)方法?

Iterables提供了两种方法getLast

 public static <T> T getLast(Iterable<T> iterable);
 public static <T> T getLast(Iterable<T> iterable, @Nullable T defaultValue);
Run Code Online (Sandbox Code Playgroud)

但只有一个 getFirst

 public static <T> T getFirst(Iterable<T> iterable, @Nullable T defaultValue);
Run Code Online (Sandbox Code Playgroud)

是否存在破坏对称性的设计/实施原因?

java collections iterable api-design guava

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

ListenableFuture,FutureCallback和超时

根据番石榴的例子,我看到我一直在寻找解决问题的优雅方案.具体来说,我喜欢这种方式Futures.addCallback(ListenableFuture, FutureCallback) ,但是我希望能够在调用FutureCallback之前的时间长度上设置超时.最佳如果违反超时只会导致调用FutureCallback的失败条件会很好.

番石榴有没有这样的东西?是不是不建议尝试将超时与回调相结合?

编辑:包括引导我到这一点的代码示例.显然,我删除了有意义的位以获得最小的例子.

@Test
public void testFuture()
{
    Callable<Boolean> callable = new Callable<Boolean>()
    {

        @Override
        public Boolean call() throws Exception
        {
            while(true);
        }
    };

    ListenableFuture<Boolean> callableFuture = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()).submit(callable);

    Futures.addCallback(callableFuture, new FutureCallback<Boolean>()
    {

        @Override
        public void onFailure(Throwable arg0)
        {
            System.out.println("onFailure:"+arg0); 
        }

        @Override
        public void onSuccess(Boolean arg0)
        {
            System.out.println("onSuccess:"+arg0);
        }
    }); 

    try
    {
        callableFuture.get(1000, TimeUnit.MILLISECONDS);
    }catch(Throwable t)
    {
        System.out.println("catch:"+t);
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码仅打印catch:java.util.concurrent.TimeoutException.

java guava

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

以元素频率的顺序迭代Multiset的最简单方法是什么?

考虑这个打印出一些设备类型统计数据的例子.("DeviceType"是一个带有十二个值的枚举.)

Multiset<DeviceType> histogram = getDeviceStats();
for (DeviceType type : histogram.elementSet()) {
    System.out.println(type + ": " + histogram.count(type));
}
Run Code Online (Sandbox Code Playgroud)

以频率顺序打印不同元素的最简单,最优雅的方法是什么(最常见的类型是第一种)?

随着快速浏览一下Multiset界面,有一个为这个没有现成的方法,并没有番石榴的的Multiset实现(HashMultiset,TreeMultiset,等)似乎自动保持要素频率有序无论是.

java multiset guava

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

Spring中的@RequestParam如何处理Guava的Optional?

@RequestMapping(value = "/contact.html", method = RequestMethod.POST)
public final ModelAndView contact(
        @RequestParam(value = "name", required = false) Optional<String> name) {
Run Code Online (Sandbox Code Playgroud)

如果不需要参数值且没有发送任何内容,Spring如何@RequestMapping处理Optional来自Guava库的内容?

那将会:

  • 调成 null
  • 调成 Optional.absent()

可以Optional.fromNullable(T)用来接受请求吗?

spring nullable spring-mvc optional guava

29
推荐指数
1
解决办法
6万
查看次数

通过谓词对集合进行分区的库方法

我有一个对象集合,我想分成两个集合,其中一个传递一个谓词,其中一个未通过谓词.我希望有一个Guava方法可以做到这一点,但它们最接近的是过滤器,它不会给我另一个集合.

我想图像方法的签名将是这样的:

public static <E> Pair<Collection<E>, Collection<E>> partition(Collection<E> source, Predicate<? super E> predicate)
Run Code Online (Sandbox Code Playgroud)

我意识到这对我自己的编码速度非常快,但我正在寻找一种能够实现我想要的现有库方法.

java collections guava

28
推荐指数
3
解决办法
8904
查看次数

什么是番石榴相当于Scala的flatMap?

通过https://github.com/google/guava/wiki/FunctionalExplained查看我看到像transform这样的操作,它将转换列表但保持相同的基数.如何执行导致不同基数的转换?例如(伪代码)List(1,2,3).transform(i => List(i, i))- >List(1,1,2,2,3,3)

java functional-programming scala guava

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

何时使用事件总线?

我正在设计一个新的Java Web应用程序的后端,我正在尝试决定是否使用事件总线; 特别是番石榴EventBus.

大多数服务器端请求都是同步的:即,用户正在请求数据并需要在几秒钟内响应.但是,也有相当多的请求可以是异步的,并且在客户端是"一劳永逸".只要它们最终被处理,如果需要2秒钟处理或2小时,客户可以更少关心.

对于这些异步请求,我计划让servlet监听映射的URL,将请求发布到队列.然后,消费者将每个请求出列并将其路由到适当的处理程序.这是EventBus可能会或可能不会发挥作用的地方.将请求路由到正确的处理程序的业务逻辑非常复杂.通常情况下,骆驼路线将是完美的解决方案.在我的用例中,我想知道我是否可以将一堆"处理器"(事件处理程序)连接到同一个事件总线,然后让每个事件相互触发和接收事件,直到最终结果为止.产生的.

我想说我已经探索过使用Apache Camel,并且我相信Camel是这里工作的合适工具.可悲的是,由于这个问题范围之外的原因,我不打算使用它.所以我开始想起类似Camel的解决方案,这就是我到达Guava的方式EventBus.但它可能不是一个合适的替代品.

我想我正在寻找Event Bus模式解决的问题分类,然后我需要确定这是否符合我的用例.

java guava event-bus

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

从MySql导出转储文件

我想在数据库中创建表的转储文件.所以数据库 - > king,tablename - > castle所以我想要做的是创建一个转储文件..然后下一部分是在我的本地主机中导入它.数据库名称 - > king_local.关于如何去做的任何想法!谢谢

mysql dump workbench

23
推荐指数
1
解决办法
8万
查看次数