public class SendText extends UiAutomatorTestCase {
private String jsonString = "{\"A\": [[107,729],[108,728],[108,728],[108,727]," +
"[108,727],[108,727],[108,727],[108,727],[108,727],[108,727],[108,727],[108,727],[110,724]," +
"[114,717],[125,701],[134,685],[145,663],[157,636],[169,607],[179,583],[191,558],[196,547]," +
"[199,540],[201,534],[202,529],[203,528],[204,525],[204,524],[204,524],[204,524],[204,524]," +
"[204,524],[204,525],[204,530],[205,538],[207,549],[209,566],[216,602],[223,629],[229,653]," +
"[235,671],[238,684],[241,697],[242,703],[242,707],[243,710],[243,712],[243,713],[243,713]," +
"[243,713],[243,713],[244,713],[244,713],[244,713],[244,713],[242,709],[237,703],[230,695]," +
"[224,684],[220,679],[215,671],[212,665],[206,658],[202,655],[200,654],[196,651],[192,648]," +
"[189,646],[184,642],[182,641],[180,639],[179,637],[177,635],[176,634],[174,633],[173,631]," +
"[172,630],[171,629],[170,628],[170,628],[170,627],[169,627],[169,627],[169,627],[169,627]," +
"[169,629],[169,629]]}" ;
public void testSendText() throws UiObjectNotFoundException {
JSONObject jsonObj;
try {
jsonObj = new JSONObject(jsonString);
jsonObj.getJSONArray("A");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//String line = null;
for(int k = 0; k < jsonString.length(); k++){
Vector<Point> apoints = new Vector<Point>();
apoints.add(new Point());
getUiDevice().swipe((Point[])apoints.toArray(), 5);
}
}
}
Q
java.lang.ClassCastException: java.lang.Object [] не может быть передан в android.graphics.Point []
0
A
ответ
1
Интерфейс коллекции имеет 2 метода toArray. Первый объект Object [] toArray() возвращает все элементы в коллекции и сохраняет их в массиве типа Object []. Второй, T [] toArray (T [] a) сохраняет элементы коллекции в параметре для метода, если он достаточно велик, в противном случае он выделяет массив соответствующего размера через отражение во время выполнения на a. Ваш код эквивалент следующее: `
Object[] x = new Object[1];
x[0] = "Test";
System.out.println(((String[]) x)[0]); //Throws a ClassCastException
` Для того, чтобы исправить это, просто использовать ToArray (T [] а) версию ToArray как предложено ZouZou.
Смежные вопросы
- 1. ClassCastException: java.lang.Object [] не может быть передан в java.lang.String [] []
- 2. java.lang.ClassCastException: DTOObject не может быть передан DTOObject
- 3. java.lang.ClassCastException: [Ljava.lang.Object; не может быть передан сущности.UserEntity
- 4. java.lang.ClassCastException: [Ljava.lang.Object; не может быть передан com.entity.survey.SurveyReport
- 5. java.lang.ClassCastException: entity.SysLogEntity не может быть передан сущности.SysLogEntity
- 6. AsyncTask: java.lang.ClassCastException: java.lang.Object [] не может быть отнесено к java.lang.String []
- 7. Ошибка Sonarqube java.lang.ClassCastException: org.sonar.java.resolve.SemanticModel не может быть передан в org.sonar.java.resolve.SemanticModel
- 8. java.lang.ClassCastException: org.json.simple.JSONObject не может быть передан в org.json.JSONObject
- 9. 'java.lang.ClassCastException: ресурс не может быть передан в java.lang.Comparable'
- 10. java.lang.ClassCastException: com.google.android.gms.common.images.e не может быть передан в android.content.ComponentCallbacks
- 11. java.lang.ClassCastException: org.json.simple.JSONArray не может быть передан в org.json.JSONArray
- 12. jBOSS + ESAPI java.lang.ClassCastException: org.jboss.logmanager.log4j.BridgeLogger не может быть передан в org.owasp.esapi.Logger
- 13. java.lang.ClassCastException: [Ljava.lang.Object; не может быть передан в rmc.entity.UserEntity
- 14. java.lang.ClassCastException: java.lang.String не может быть передан в org.myapp.ui.MyClass
- 15. java.lang.ClassCastException: [Ljava.lang.Object; не может быть передан в com.inrev.segmentation.bean.IRUserSegment
- 16. java.lang.ClassCastException: org.apache.derby.client.am.ClientPreparedStatement42 не может быть передан в org.apache.derby.iapi.sql.PreparedStatement
- 17. Ошибка Hbase: java.lang.ClassCastException: org.apache.hadoop.io.Text не может быть передан в org.apache.hadoop.hbase.client.Mutation
- 18. AXIS 2: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredElementNSImpl не может быть передан в org.apache.axiom.om.OMElement
- 19. java.lang.ClassCastException: org.eclipse.xtext.impl.KeywordImpl не может быть передан в org.eclipse.xtext.RuleCall
- 20. Ошибка: java.lang.ClassCastException: wordCountTest.WordCountTest не может быть передан в org.apache.hadoop.mapreduce.Mapper
- 21. java.lang.ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault не может быть передан в org.apache.xml.dtm.DTMManager
- 22. java.lang.ClassCastException: ish.message.Message не может быть передан в android.app.Application
- 23. java.lang.ClassCastException: java.lang.String не может быть передан в org.primefaces.component.api.ClientBehaviorRenderingMode
- 24. java.lang.ClassCastException: org.apache.hadoop.io.Text не может быть передан в org.apache.hadoop.hive.ql.io.orc.OrcSerde $ OrcSerdeRow
- 25. java.lang.ClassCastException: android.graphics.drawable.ColorDrawable не может быть передан в android.graphics.drawable.AnimationDrawable
- 26. java.lang.ClassCastException: android.os.BinderProxy не может быть передан в xxx $ LocalBinder
- 27. java.lang.ClassCastException: com.sun.proxy. $ Proxy0 не может быть передан в org.andrea.myexample.myDeclarativeTransactionSpring.StudentJDBCTemplate
- 28. JMockit - java.lang.ClassCastException: java.lang.String не может быть передан организации
- 29. org.springframework.jms.connection.CachingConnectionFactory не может быть передан в org.springframework.amqp.rabbit.connection.ConnectionFactory
- 30. java.lang.Object не может быть брошен
Используйте '.swipe (apoints.toArray (новая точка [apoint.size()]), 5);' –
@ZouZou Спасибо .... что сработало !!! – dummy
@ZouZou если вместо jsonString.length() я хочу передать фактическое содержимое A с помощью jsonObj ..., которое примет массив внутри массива ... как я могу это сделать? – dummy