小编Jef*_*rod的帖子

Java中的有界通配符

这不好

     List<List<? extends Number>> a;
     List<List<Integer>> b;
     a = b;
Run Code Online (Sandbox Code Playgroud)

这可以

     List<? extends Number> c;
     List<Integer> d;
     c = d;
Run Code Online (Sandbox Code Playgroud)

怎么能让它先编译?

java generics bounded-types bounded-wildcard

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

使用简单的Apache HttpClient Eclipse项目的NoClassDefFoundError

我正在尝试创建一个简单的Eclipse项目来测试使用HttpClient代码的代码.

我在Eclipse中创建一个简单的Java项目,增加了Junit4测试案例(下面的代码).我加入了httpclient-4.1.3.jar到我手动从Maven的中央下载Eclipse项目在这里,并添加了罐子的Java构建路径.

测试运行时,我收到以下错误:

java.lang.NoClassDefFoundError: org/apache/http/params/HttpParams at HttpClientDemo.test(HttpClientDemo.java:13)

HttpClientDemo很简单:

import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.junit.Test;


public class HttpClientDemo {
   @Test public void test() {
      HttpClient httpclient = new DefaultHttpClient();
   }
}
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?

java eclipse httpclient noclassdeffounderror apache-commons

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

是否可以编写一个接受不同抽象的泛型参数的方法?

作为这个问题后续,是否有可能编写一个方法来增加Dog一个合适的房间?(在这个例子中,它会接受Animal房间或Dog房间.)或者我是否被迫写下两种不同的方法如下?(因为类型擦除,我甚至不能依赖重载).

public class Rooms {
   interface Animal {}
   class Dog implements Animal {}
   class Room<T> {
      void add(T t) {}
   }

   void addDogToAnimalRoom(Room<Animal> room) {
      room.add(new Dog());
   }

   void addDogToDogRoom(Room<Dog> room) {
      room.add(new Dog());
   }   
}
Run Code Online (Sandbox Code Playgroud)

java generics pecs bounded-wildcard

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

使用两个片段处理操作栏

我有一个带有两个片段的布局,两个片段都有自己的动作栏,每个动作栏都有自己的动作项和菜单.当我的应用程序处于横向模式并且两个片段都显示在屏幕上时,看起来框架正在选择在"右侧"(或第二个片段)上显示操作栏,这意味着左侧的片段(第一个片段) )缺少其动作项和菜单选项.

当应用程序处于纵向模式时,一切正常,所以我不确定是否应该在显示时处理片段.谢谢.

编辑

在我的每个片段中,我使用此代码将菜单项添加到操作栏:

在片段1中:

    @Override
    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
        inflater.inflate(R.menu.fragment_menu_1, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }
Run Code Online (Sandbox Code Playgroud)

在片段2中:

    @Override
    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
        inflater.inflate(R.menu.fragment_menu_2, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }
Run Code Online (Sandbox Code Playgroud)

更新:

显然使用setRetainInstance(true)是导致菜单不刷新的原因.我正在使用它,因为我有一个AsyncTask,如果设备被旋转,则抛出异常.所以我解决了一个问题,但打破了另一个.

android android-layout android-fragments actionbarsherlock

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

如果缓冲区填满,startMethodTracing()是否会返回错误?

Debug.startMethodTracing()默认情况下使用8MB"缓冲区大小".关于这个缓冲区,我有很多问题.

  1. 如果缓冲区填满容量,或者它是否只是停止记录,则抛出错误?
  2. 无论写入多少或几乎没有数据,缓冲区是否仍然是固定的8MB?
  3. 如果我手动指定bufferSize参数,那么单位是多少?字节?MB?
  4. 我尝试将缓冲区大小增加到20MB左右并退出应用程序.我需要记录大约20个实时秒的计算值.有没有办法记录超过20MB左右的数据?我假设它首先存储在内存中,否则将它存储到SD卡是没有问题的.

debugging android profiling android-traceview

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

如何确保录制视频的正确播放方向?

我正在使用MediaStore.ACTION_VIDEO_CAPTURE捕获视频的意图,然后使用a来播放它VideoView.我想知道所拍摄视频的方向.

我不想在意图呼叫时使用方向,因为用户可能在按下快门按钮之前旋转设备.我也不想实现自己的自定义视频捕获.

视频的方向是存储在保存的文件中还是/或在意图结果中返回?

video android video-capture orientation android-video-player

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

使用过期密钥缓存

我正在开发一个mashup站点,并希望限制抓取源站点的数量.我需要的数据基本上只有一位,一个整数,并希望用定义的有效期缓存它.

为了澄清,我只想缓存整数,而不是整个页面源.

是否有红宝石或铁轨功能或宝石已经为我完成了这个?

ruby caching ruby-on-rails mashup web-scraping

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

Excel表查找匹配两列的值

我想创建一个匹配两列的表查找公式.例如,假设我想Letter在列所在的行和列所在的Type列中找到列的值.BiennialResultWarning

__PRE__

实现这一目标的公式是什么样的?

database excel lookup-tables excel-formula

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

如何在编辑器中搜索所有文件?

在更新后的 Google Apps 脚本编辑器中,没有明显的方法来搜索所有文件(这是基本的 IDE 功能)。在过去,我认为这是默认行为。我可以完成恢复到旧版编辑器的任务吗?

新的、功能较少的搜索对话框

ide google-apps-script monaco-editor

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

在java中向上转换

在Java中,假设我有3个类,C从B扩展而来自A.

class X {
   interface A {}
   interface B extends A {}
   interface C extends B {}
   void f(A a) {}

   void test() {
      C c = new C()
      B b = (B) c;

      f(b);
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我做了类似这样的事情,如上所示test():

C c = new C()
B b = (B) c;

f(b);
Run Code Online (Sandbox Code Playgroud)

f()从那时起接受b类型C,CB从两者延伸A.我希望f()收到b类型B而不是类型C.

无论如何迫使这种向上倾斜?

java casting

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