相关疑难解决方法(0)

杰克逊错误:没有合适的构造函数

我正在使用Jackson将json数组反序列化为某些对象.这是我的班级:

public class OfferContainer extends ActiveRecordBase{

    public Offer offer;

    public OfferContainer(){}

    public OfferContainer(Database db) {
        super(db);
    }

    @Override
    public String toString()
    {
        return this.getID() +  offer.toString();
    }

    public String getDescription() {
        return offer.description;
    }

    public String getBusinessName() {
        return offer.business.name;
    }



    public class Offer
    {
        public Category category;
        public String description;
        public String discount;
        public Date expiration;
        public Date published;
        public String rescinded_at;
        public String title;
        public String hook;
        public Date valid_from;
        public Date valid_to;
        public String id;
        public Business …
Run Code Online (Sandbox Code Playgroud)

java jackson

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

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

SimpleStringProperty和SimpleIntegerProperty TableView JavaFX

所以我正在尝试学习如何使用JavaFx Tableview,并且我在本教程中讨论了:

Oracle tableview教程

在本教程中,他们表明,为了填充tableView,你必须用字符串填充它,但不是只需要将你格式化String为任何字符串SimpleStringProperty

我尝试没有格式,结果是没有任何信息显示!

另外我发现如果你想Integer在表中添加一个,你必须将它声明为SimpleIntegerProperty

现在我对JavaFx还不熟悉,但这是否意味着当我创建一个对象时,我必须格式化所有的整数和字符串以便能够填充我的TableView?它似乎相当愚蠢,但也许有更高的目的?还是有办法避免它?

java javafx tableview

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

静态类在java中只包含静态方法吗?

我找到了静态类包含未声明为静态的方法的代码.编译器不显示任何警告.这看起来很混乱,不是吗?

java methods static class protected

10
推荐指数
4
解决办法
9596
查看次数

何时将静态嵌套类(以及其中的静态成员)加载到内存中?

在这里,我试图使用内部静态助手类为我的数据库连接实现单例类:

package com.myapp.modellayer;

public class DatabaseConnection {

    private DatabaseConnection() {
        //JDBC code...
    }

    private static class ConnectionHelper {
        // Instantiating the outer class
        private static final DatabaseConnection INSTANCE = new DatabaseConnection();
    }

    public static DatabaseConnection getInstance() {
        return ConnectionHelper.INSTANCE;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我怀疑这个静态内部类ConnectionHelper何时被加载到JVM内存中:

在加载DatabaseConnection类时,还是在调用getInstance()方法时?

java singleton static-members nested-class

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

CustomDeserializer没有默认(无arg)构造函数

我正在使用RestTemplate来使用REST Api.我从API获得的响应有很多嵌套对象.这里有一个小片段作为例子:

"formularios": [
  {
    "form_data_id": "123006",
    "form_data": {
      "form_data_id": "123006",
      "form_id": "111",
      "efs": {
        "1": {},
        "2": "{\"t\":\"c\",\"st\":\"m\",\"v\":[{\"id\":\"3675\",\"l\":\"a) Just an example\",\"v\":\"1\"},{\"id\":\"3676\",\"l\":\"b) Another example.\",\"v\":\"2\"}]}"
      }
    }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是大多数时候"1"实际上有内容,就像"2"一样,而jackson只是将它解析为对象"efs"上的String.但有时候,就像在代码片段中一样,API将其发送为空,并且jackson将其作为对象,这给了我一个错误,说明了一些关于START_OBJECT的内容(不记得确切的错误,但对于这个问题并不重要) ).

所以我决定创建一个自定义反序列化器,所以当jackson读取"1"时,它会忽略空对象并将其解析为空字符串.

这是我的自定义反序列化器:

public class CustomDeserializer extends StdDeserializer<Efs> {

 public CustomDeserializer(Class<Efs> t) {
     super(t);
 }

 @Override
 public Efs deserialize(JsonParser jp, DeserializationContext dc)
         throws IOException, JsonProcessingException {

     String string1 = null;
     String string2 = null;
     JsonToken currentToken = null;

     while ((currentToken = jp.nextValue()) != null) {
         if (currentToken.equals(JsonToken.VALUE_STRING)) {
             if (jp.getCurrentName().equals("1")) {
                 string1 = …
Run Code Online (Sandbox Code Playgroud)

java spring jackson resttemplate json-deserialization

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

当启动活动在仍在运行时停止/销毁时,AsyncTask会发生什么?

我看到几个与我几乎完全相同的问题,但我找不到满足我所有疑虑的完整答案..所以我在这里..假设你有一个内部类的活动,扩展了这个AsyncTask类:

public class MyActivity extends Activity {            
    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
        protected Bitmap doInBackground(String... urls) {
            return DownloadImage(urls[0]); 
        }
        protected void onPostExecute(Bitmap result) {
            ImageView img = (ImageView) findViewById(R.id.img); 
            img.setImageBitmap(result);
        }  
    }

    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);
        new DownloadImageTask().execute("http://mysite.com/image.png")
    }
}
Run Code Online (Sandbox Code Playgroud)

假设活动暂停或销毁(可能两种情况不同),而 DownloadImageTask仍然在后台运行..那么,DownloadImageTask可以触发在活动UI线程上运行的方法,并且DownloadImageTask可能尝试访问Activity的方法(它是一个内部类,因此它可以使用暂停或销毁的Activity来访问外部类的方法和实例变量,就像findViewByID下面示例中的调用一样..那么会发生什么?它是否默默失败?它会产生任何异常吗?是否会通知用户出现了问题?

如果在调用run-on-UI方法时我们应该注意启动线程(本例中的Activity)仍处于活动状态,那么我们如何从内部实现AsyncTask呢?

如果您认为这是一个重复的问题,我很抱歉,但也许这个问题有点明确,有人可以更详细地回答

android background-process ui-thread android-asynctask

9
推荐指数
1
解决办法
5487
查看次数

Java:怎么不编译?

为什么这段代码不能编译?

class A
{
  class B
  {
    public enum Enum   <-- this line
    {
      AD,
      BC
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编译报告:

enum declarations allowed only in static contexts.
Run Code Online (Sandbox Code Playgroud)

但是当我把Enum放在A级时,一切都还好.

这非常令人惊讶.我不认为我在C++中遇到这个问题.

java enums

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

Java中的内部静态类

使用内部静态类有什么好处?我应该在哪里选择其他选项呢?

它的内存如何分配?

java memory-management static-class

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

显示的ViewPager第一个片段始终与FragmentStatePager错误

我正在尝试使用与view pager + tabsPlayStore 5.1.x 相同的设计.这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical|center_horizontal"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="vertical">

    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@drawable/background_tabs" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的适配器:

public class MainPagerAdapter extends FragmentStatePagerAdapter {

    private ArrayList<FakeFragment> fragments;

    public MainPagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
        fragments = new ArrayList<FakeFragment>();
    }

    @Override
    public Fragment getItem(int position) {
        // TODO Auto-generated method stub      
        if(position < getCount()) {
            FakeFragment fragment = FakeFragment.newInstance(position);
            fragments.add(fragment);
        }
        return fragments.get(position);
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

tabs android android-viewpager fragmentstatepageradapter

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