Откуда мне взять эти базовые классы Java? - PullRequest
0 голосов
/ 26 сентября 2019

Может быть, вопрос слишком простой, и поэтому я не могу найти какую-либо информацию по нему - но я довольно новичок в Java, и у меня возникают проблемы с выяснением, как решить эту ошибку.

IЯ пишу модуль Native Bridge в React Native, и я нашел в сети функцию для преобразования между структурами данных Javascript и структурами данных Java.Пока все хорошо.

    private static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException {
    JSONArray array = new JSONArray();
    for (int i = 0; i < readableArray.size(); i++) {
        switch (readableArray.getType(i)) {
        case Null:
            break;
        case Boolean:
            array.put(readableArray.getBoolean(i));
            break;
        case Number:
            array.put(readableArray.getDouble(i));
            break;
        case String:
            array.put(readableArray.getString(i));
            break;
        case Map:
            array.put(convertMapToJson(readableArray.getMap(i)));
            break;
        case Array:
            array.put(convertArrayToJson(readableArray.getArray(i)));
            break;
        }
    }
    return array;
}

Однако при попытке компиляции я получаю кучу ошибок сборки из-за отсутствия этих базовых структур данных.Нужно ли импортировать их откуда-то?

  symbol:   variable Null
  location: class PayPalMobileRN
/Users/andy/Desktop/Projects/pinyada_androidrn/android/app/src/main/java/com/paypal-rn-sdk/PayPalMobileRN.java:346: error: cannot find symbol
            case Boolean:
                 ^
  symbol:   variable Boolean
  location: class PayPalMobileRN
/Users/andy/Desktop/Projects/pinyada_androidrn/android/app/src/main/java/com/paypal-rn-sdk/PayPalMobileRN.java:349: error: cannot find symbol
            case Number:
                 ^
  symbol:   variable Number
  location: class PayPalMobileRN
/Users/andy/Desktop/Projects/pinyada_androidrn/android/app/src/main/java/com/paypal-rn-sdk/PayPalMobileRN.java:352: error: cannot find symbol
            case String:

Насколько я могу судить, они должны быть в java.lang:

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;

import java.lang.Boolean;
import java.lang.Null;
import java.lang.Number;
import java.lang.String;
import java.lang.Map;
import java.lang.Array;

import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.WritableNativeArray;

Но, несмотря на импорт всех этих, яя все еще получаю эту ошибку сборки.

Я вытаскиваю из неправильного места?

1 Ответ

0 голосов
/ 26 сентября 2019

Вы не можете включить классы.Это на самом деле enum-константы с нетрадиционным регистром.Просто импортируйте ReadableType и все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...