1. import java.util.Arrays;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class ArrayEncoder {
  5. /**
  6. * Encodes an array to a string representation suitable for backward compatibility.
  7. * Uses a simple format: "[element1,element2,element3,...]"
  8. *
  9. * @param array The array to encode.
  10. * @return The encoded string representation of the array. Returns "[]" for null or empty arrays.
  11. */
  12. public static String encodeArray(Object[] array) {
  13. if (array == null || array.length == 0) {
  14. return "[]";
  15. }
  16. StringBuilder sb = new StringBuilder();
  17. sb.append("[");
  18. for (int i = 0; i < array.length; i++) {
  19. sb.append(encodeElement(array[i])); // Encode each element
  20. if (i < array.length - 1) {
  21. sb.append(","); // Add comma between elements
  22. }
  23. }
  24. sb.append("]");
  25. return sb.toString();
  26. }
  27. /**
  28. * Encodes a single element to a string representation. Handles different data types.
  29. *
  30. * @param element The element to encode.
  31. * @return The encoded string representation of the element.
  32. */
  33. private static String encodeElement(Object element) {
  34. if (element == null) {
  35. return "null"; // Handle null elements
  36. }
  37. if (element instanceof String) {
  38. return "\"" + element.toString() + "\""; // String elements are enclosed in quotes
  39. } else if (element instanceof Integer || element instanceof Long || element instanceof Short || element instanceof Byte) {
  40. return element.toString(); // Numeric elements are represented as strings
  41. } else if (element instanceof Boolean) {
  42. return element.toString(); // Boolean elements are represented as strings
  43. } else {
  44. return element.toString(); // Default to toString() for other types
  45. }
  46. }
  47. public static void main(String[] args) {
  48. //Example Usage
  49. Integer[] intArray = {1, 2, 3, 4, 5};
  50. String[] stringArray = {"apple", "banana", "cherry"};
  51. Object[] mixedArray = {1, "hello", true, null, 3.14};
  52. System.out.println("Integer Array: " + encodeArray(intArray));
  53. System.out.println("String Array: " + encodeArray(stringArray));
  54. System.out.println("Mixed Array: " + encodeArray(mixedArray));
  55. System.out.println("Null Array: " + encodeArray(null));
  56. System.out.println("Empty Array: " + encodeArray(new Object[0]));
  57. }
  58. }

Add your comment